package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-05.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum05 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {1,0,100,7,-16,14,92,22,-86,29,-55,36,-82,43,87,50,-80,56,-67,62,110,68,-67,73,-90,78,34,83,44,87,-98,90,-71,93,97,96,-117,98,55,100,107,101,37,102,102,102,57,102,-106,101,-124,100,26,99,61,97,24,95,-109,92,-69,89,-81,86,102,83,-21,79,70,76,125,72,-98,68,-87,64,-79,60,-75,56,-62,52,-37,48,13,45,89,41,-55,37,112,34,50,31,45,28,80,25,-72,22,77,20,33,18,52,16,122,14,2,13,-65,11,-80,10,-35,9,52,9,-31,8,-110,8,101,8,91,8,104,8,-121,8,-69,8,-19,8,44,9,95,9,-117,9,-86,9,-82,9,-100,9,106,9,61,9,-61,8,15,8,57,7,38,6,-24,4,106,3,-66,1,-45,-1,-72,-3,100,-5,-37,-8,35,-10,55,-13,38,-16,11,-19,-82,-23,44,-26,-106,-30,-19,-34,51,-37,123,-41,-74,-45,7,-48,87,-52,-54,-56,77,-59,-8,-63,-53,-66,-41,-69,17,-71,123,-74,47,-76,34,-78,94,-80,-15,-82,-60,-83,-2,-84,122,-84,95,-84,-113,-84,30,-83,5,-82,57,-81,-60,-80,-99,-78,-46,-76,76,-73,15,-70,23,-67,92,-64,-41,-61,-119,-57,98,-53,103,-49,-122,-45,-64,-41,9,-36,97,-32,-111,-28,-24,-24,48,-19,107,-15,-114,-11,-107,-7,120,-3,57,1,-56,4,44,8,89,11,82,14,20,17,-107,19,-79,21,-68,23,-119,25,29,27,113,28,-117,29,114,30,31,31,-100,31,-20,31,11,32,15,32,-25,31,-87,31,81,31,-64,30,79,30,-50,29,81,29,-48,28,97,28,-15,27,-93,27,92,27,57,27,49,27,67,27,-125,27,-30,27,105,28,17,29,-27,29,-15,30,24,32,114,33,-24,34,-122,36,73,38,31,40,26,42,35,44,61,46,107,48,-109,50,-58,52,-1,54,31,57,48,59,40,61,0,63,-67,64,67,66,-90,67,-54,68,-71,69,103,70,-51,70,-17,70,-62,70,106,70,-98,69,119,68,3,67,48,65,15,63,-116,60,-66,57,-109,54,28,51,85,47,66,43,-24,38,80,34,115,29,-110,24,79,19,-23,13,87,8,-78,2,-19,-4,41,-9,84,-15,-117,-21,-59,-27,27,-32,-128,-38,20,-43,-58,-49,-79,-54,-13,-59,77,-63,-17,-68,-42,-72,17,-75,-101,-79,122,-82,-67,-85,72,-87,80,-89,-105,-91,94,-92,109,-93,-18,-94,-44,-94,9,-93,-97,-93,-124,-92,-52,-91,88,-89,62,-87,95,-85,-48,-83,119,-80,90,-77,111,-74,-82,-71,21,-67,-98,-64,44,-60,-28,-57,-99,-53,104,-49,46,-45,-16,-42,-83,-38,86,-34,-18,-31,112,-27,-46,-24,26,-20,60,-17,62,-14,18,-11,-91,-9,36,-6,-121,-4,-79,-2,-67,0,-103,2,77,4,-32,5,67,7,-113,8,-77,9,-67,10,-86,11,-126,12,26,13,-51,13,116,14,11,15,-91,15,52,16,-54,16,95,17,0,18,-91,18,92,19,27,20,-15,20,-42,21,-49,22,-69,23,-34,24,26,26,102,27,-52,28,65,30,-52,31,106,33,17,35,-54,36,-115,38,86,40,37,42,-13,43,-62,45,123,47,65,49,-20,50,-109,52,27,54,-110,55,-25,56,29,58,50,59,29,60,-33,60,119,61,-40,61,15,62,18,62,-26,61,-125,61,-35,60,9,60,-9,58,-79,57,50,56,126,54,-103,52,123,50,51,48,-69,45,26,43,78,40,-124,37,116,34,77,31,10,28,-73,24,77,21,-29,17,100,14,-16,10,116,7,6,4,-100,0,71,-3,-3,-7,-45,-10,-31,-13,-20,-16,19,-18,92,-21,-49,-24,99,-26,37,-28,13,-30,36,-32,99,-34,-47,-36,106,-37,44,-38,30,-39,49,-40,-103,-41,-13,-42,-119,-42,44,-42,-1,-43,-29,-43,-21,-43,3,-42,54,-42,119,-42,-58,-42,37,-41,-122,-41,-12,-41,106,-40,-39,-40,63,-39,-90,-39,4,-38,87,-38,-91,-38,-32,-38,22,-37,55,-37,80,-37,86,-37,79,-37,60,-37,25,-37,-34,-38,-89,-38,93,-38,23,-38,-61,-39,111,-39,29,-39,-59,-40,123,-40,49,-40,-10,-41,-58,-41,-88,-41,-101,-41,-86,-41,-87,-41,-15,-41,71,-40,-48,-40,109,-39,60,-38,44,-37,71,-36,-115,-35,0,-33,-99,-32,103,-30,99,-28,126,-26,-77,-24,37,-21,-49,-19,-104,-16,-116,-13,-97,-10,-36,-7,39,-3,-97,0,31,4,-67,7,100,11,26,15,-44,18,-105,22,50,26,-20,29,-102,33,56,37,-61,40,56,44,-116,47,-58,50,-43,53,-63,56,125,59,13,62,104,64,-112,66,125,68,40,70,-93,71,-33,72,-33,73,-103,74,28,75,87,75,86,75,23,75,-112,74,-38,73,-38,72,-87,71,62,70,-103,68,-42,66,-51,64,-97,62,66,60,-61,57,26,55,89,52,115,49,126,46,107,43,79,40,31,37,-21,33,-85,30,-117,27,75,24,15,21,-38,17,-80,14,-115,11,127,8,121,5,-112,2,-80,-1,-14,-4,63,-6}; }
	private static byte[] data1(){ return new byte[] {-82,-9,52,-11,-50,-14,-79,-16,-126,-18,115,-20,124,-22,-96,-24,-35,-26,55,-27,-91,-29,47,-30,-49,-32,-126,-33,84,-34,42,-35,36,-36,36,-37,88,-38,126,-39,-82,-40,-17,-41,64,-41,-107,-42,0,-42,107,-43,-26,-44,109,-44,-12,-45,-111,-45,40,-45,-40,-46,-117,-46,77,-46,5,-46,-38,-47,-87,-47,-114,-47,122,-47,114,-47,121,-47,-115,-47,-81,-47,-30,-47,37,-46,120,-46,-34,-46,78,-45,-44,-45,123,-44,40,-43,-8,-43,-43,-42,-52,-41,-37,-40,-3,-39,58,-37,-117,-36,-13,-35,113,-33,7,-31,-83,-30,83,-28,28,-26,6,-24,-11,-23,-5,-21,17,-18,45,-16,95,-14,-109,-12,-46,-10,27,-7,101,-5,-77,-3,9,0,44,2,-125,4,-58,6,13,9,73,11,122,13,-93,15,-67,17,-55,19,-58,21,-78,23,-118,25,80,27,2,29,-102,30,9,32,112,33,-49,34,10,36,50,37,68,38,53,39,23,40,-37,40,-121,41,33,42,-101,42,5,43,86,43,-109,43,-81,43,-57,43,-58,43,-72,43,-106,43,100,43,35,43,-45,42,118,42,10,42,-109,41,19,41,-124,40,-16,39,77,39,-77,38,2,38,76,37,-114,36,-59,35,-1,34,37,34,80,33,111,32,-122,31,-99,30,-91,29,-83,28,-86,27,-67,26,-83,25,-107,24,116,23,76,22,26,21,-33,19,-103,18,76,17,-15,15,-111,14,33,13,-86,11,39,10,-104,8,37,7,127,5,-43,3,27,2,92,0,-111,-2,-66,-4,-28,-6,0,-7,23,-9,42,-11,51,-13,65,-15,64,-17,74,-19,102,-21,106,-23,116,-25,120,-27,-113,-29,-99,-31,-62,-33,-27,-35,26,-36,89,-38,-89,-40,3,-41,117,-43,-13,-45,-105,-46,61,-47,1,-48,-40,-50,-52,-51,-40,-52,3,-52,70,-53,-83,-54,41,-54,-46,-55,-118,-55,117,-55,110,-55,-103,-55,-50,-55,53,-54,-66,-54,98,-53,49,-52,22,-51,37,-50,79,-49,-100,-48,3,-46,-117,-45,47,-43,-16,-42,-52,-40,-65,-38,-78,-36,-45,-34,15,-31,88,-29,-67,-27,40,-24,-82,-22,53,-19,-44,-17,117,-14,33,-11,-42,-9,-119,-6,71,-3,-35,-1,-100,2,76,5,7,8,-85,10,86,13,-21,15,124,18,-4,20,109,23,-48,25,29,28,88,30,127,32,-114,34,105,36,76,38,13,40,-71,41,71,43,-74,44,11,46,62,47,83,48,74,49,31,50,-43,50,107,51,-32,51,52,52,97,52,115,52,110,52,66,52,-4,51,-107,51,20,51,114,50,-70,49,-30,48,-12,47,-19,46,-52,45,-103,44,77,43,-2,41,-117,40,17,39,126,37,-26,35,58,34,-121,32,-55,30,3,29,55,27,99,25,-113,23,-79,21,-35,19,19,18,66,16,99,14,-110,12,-65,10,-14,8,43,7,107,5,-81,3,0,2,82,0,-78,-2,25,-3,-119,-5,4,-6,-90,-8,53,-9,-54,-11,109,-12,22,-13,-53,-15,-119,-16,80,-17,32,-18,-6,-20,-37,-21,-59,-22,-69,-23,-78,-24,-74,-25,-38,-26,-25,-27,5,-27,30,-28,71,-29,115,-30,-89,-31,-30,-32,35,-32,108,-33,-66,-34,19,-34,118,-35,-35,-36,87,-36,-46,-37,79,-37,-30,-38,117,-38,25,-38,-56,-39,127,-39,77,-39,31,-39,7,-39,-9,-40,0,-39,15,-39,60,-39,98,-39,-78,-39,7,-38,124,-38,-6,-38,-108,-37,62,-36,-5,-36,-45,-35,-73,-34,-73,-33,-58,-32,-21,-31,36,-29,109,-28,-75,-27,30,-25,-92,-24,46,-22,-46,-21,123,-19,56,-17,-3,-16,-51,-14,-87,-12,-119,-10,113,-8,98,-6,77,-4,41,-2,22,0,14,2,-4,3,-22,5,-46,7,-78,9,-116,11,92,13,33,15,-37,16,-120,18,36,20,-71,21,52,23,-111,24,-20,25,63,27,118,28,-92,29,-71,30,-68,31,-79,32,-116,33,89,34,18,35,-73,35,77,36,-48,36,63,37,-101,37,-24,37,47,38,94,38,-121,38,-103,38,-88,38,-98,38,-106,38,118,38,85,38,33,38,-23,37,-94,37,89,37,7,37,-81,36,63,36,-42,35,88,35,-41,34,76,34,-77,33,25,33,108,32,-68,31,-6,30,52,30,89,29,-106,28,-95,27,-85,26,-100,25,-120,24,92,23,41,22,-35,20,-118,19,30,18,-89,16,29,15,-127,13,-42,11,25,10,104,8,-114,6,-98,4,-90,2,-101,0,-124,-2,101,-4,51,-6,4,-8,-64,-11,-128,-13,54,-15,-21,-18,-94,-20,84,-22,40,-24,-28,-27,-83,-29,124,-31,89,-33,71,-35,64,-37,88,-39,119,-41,-67,-43,15,-44,-117,-46,23,-47,-45,-49,-86,-50,-88,-51,-63,-52,4,-52,115,-53,0,-53,-63,-54,-93,-54,-76,-54,-17,-54,80,-53,-32,-53,-109,-52,117,-51,123,-50,-100,-49,-16,-48,95,-46,-6,-45,-86,-43,-124,-41,108,-39,122,-37,-107,-35,-52,-33,15,-30,101,-28,-58,-26,46,-23,-90,-21,-4,-19,121,-16,-21,-14,93,-11,-53,-9,44,-6,-125,-4,-47,-2,8,1}; }
	private static byte[] data2(){ return new byte[] {57,3,75,5,84,7,61,9,24,11,-71,12,97,14,-17,15,98,17,-67,18,-2,19,36,21,51,22,40,23,4,24,-54,24,122,25,17,26,-100,26,11,27,88,27,-86,27,-19,27,37,28,81,28,112,28,-117,28,-100,28,-88,28,-79,28,-77,28,-71,28,-73,28,-66,28,-69,28,-67,28,-65,28,-48,28,-43,28,-20,28,-6,28,17,29,41,29,64,29,93,29,118,29,-111,29,-87,29,-64,29,-47,29,-23,29,-15,29,-16,29,-23,29,-44,29,-74,29,-120,29,79,29,1,29,-90,28,54,28,-74,27,28,27,115,26,-59,25,-19,24,2,24,-10,22,-36,21,-88,20,88,19,-5,17,126,16,-13,14,82,13,-101,11,-41,9,-2,7,26,6,68,4,67,2,65,0,45,-2,33,-4,5,-6,-14,-9,-37,-11,-51,-13,-63,-15,-65,-17,-55,-19,-35,-21,4,-22,60,-24,-106,-26,-6,-28,103,-29,-6,-31,-102,-32,95,-33,56,-34,50,-35,73,-36,122,-37,-49,-38,62,-38,-52,-39,123,-39,72,-39,54,-39,47,-39,84,-39,-122,-39,-39,-39,65,-38,-65,-38,81,-37,-7,-37,-82,-36,120,-35,74,-34,47,-33,22,-32,7,-31,-3,-31,0,-29,1,-28,9,-27,15,-26,22,-25,25,-24,30,-23,26,-22,25,-21,9,-20,-2,-20,-26,-19,-53,-18,-107,-17,108,-16,66,-15,12,-14,-38,-14,-101,-13,100,-12,33,-11,-30,-11,-94,-10,97,-9,39,-8,-20,-8,-73,-7,110,-6,67,-5,39,-4,12,-3,1,-2,-1,-2,7,0,33,1,65,2,115,3,-78,4,-2,5,89,7,-62,8,51,10,-90,11,45,13,-51,14,106,16,25,18,-55,19,-125,21,59,23,-6,24,-74,26,109,28,41,30,-51,31,123,33,11,35,-108,36,9,38,116,39,-63,40,-3,41,25,43,27,44,0,45,-65,45,99,46,-39,46,54,47,95,47,108,47,71,47,6,47,-105,46,-11,45,51,45,64,44,42,43,-22,41,-125,40,-9,38,69,37,120,35,-126,33,118,31,71,29,27,27,-63,24,85,22,-42,19,76,17,-75,14,26,12,120,9,-42,6,52,4,-100,1,4,-1,127,-4,2,-6,-104,-9,90,-11,22,-13,-19,-16,-39,-18,-29,-20,9,-21,77,-23,-80,-25,53,-26,-42,-28,-96,-29,-125,-30,-112,-31,-75,-32,3,-32,127,-33,10,-33,-78,-34,116,-34,87,-34,76,-34,99,-34,-121,-34,-54,-34,21,-33,122,-33,-24,-33,99,-32,-17,-32,-126,-31,28,-30,-74,-30,83,-29,-11,-29,-109,-28,50,-27,-49,-27,100,-26,-6,-26,-126,-25,15,-24,-122,-24,8,-23,111,-23,-41,-23,52,-22,-112,-22,-28,-22,49,-21,124,-21,-63,-21,3,-20,71,-20,-123,-20,-52,-20,11,-19,90,-19,-93,-19,-5,-19,67,-18,-87,-18,28,-17,-101,-17,35,-16,-60,-16,105,-15,40,-14,-12,-14,-45,-13,-58,-12,-54,-11,-30,-10,13,-8,50,-7,-127,-6,-29,-5,85,-3,-39,-2,103,0,10,2,-82,3,106,5,33,7,-20,8,-81,10,126,12,74,14,18,16,-54,17,-122,19,67,21,-17,22,-112,24,35,26,-93,27,18,29,106,30,-85,31,-44,32,-29,33,-42,34,-84,35,102,36,-9,36,116,37,-49,37,10,38,41,38,34,38,0,38,-68,37,93,37,-36,36,70,36,-115,35,-65,34,-38,33,-40,32,-44,31,-84,30,121,29,53,28,-26,26,-119,25,40,24,-69,22,79,21,-37,19,109,18,-9,16,-112,15,33,14,-43,12,121,11,38,10,-31,8,-96,7,113,6,74,5,50,4,36,3,41,2,50,1,83,0,117,-1,-85,-2,-22,-3,73,-3,-97,-4,-11,-5,95,-5,-62,-6,52,-6,-89,-7,22,-7,-104,-8,1,-8,-125,-9,-22,-10,100,-10,-56,-11,49,-11,-94,-12,-11,-13,74,-13,-117,-14,-52,-15,-1,-16,41,-16,79,-17,101,-18,118,-19,-125,-20,-128,-21,-127,-22,118,-23,113,-24,97,-25,83,-26,61,-27,56,-28,38,-29,43,-30,42,-31,61,-32,88,-33,-128,-34,-67,-35,6,-35,105,-36,-33,-37,102,-37,12,-37,-49,-38,-81,-38,-86,-38,-54,-38,1,-37,99,-37,-34,-37,-127,-36,67,-35,39,-34,49,-33,83,-32,-93,-31,-15,-30,126,-28,30,-26,-31,-25,-71,-23,-84,-21,-74,-19,-46,-17,1,-14,63,-12,-118,-10,-32,-8,58,-5,-97,-3,-26,-1,79,2,-89,4,4,7,79,9,-106,11,-55,13,-19,15,-1,17,-6,19,-33,21,-86,23,91,25,-18,26,101,28,-87,29,-30,30,-6,31,-17,32,-57,33,120,34,13,35,126,35,-48,35,3,36,20,36,13,36,-30,35,-90,35,70,35,-50,34,71,34,-89,33,-4,32,56,32,107,31,-113,30,-87,29,-71,28,-62,27,-57,26,-59,25,-56,24,-64,23,-59,22,-53,21,-46,20,-34,19,-20,18,6,18,33,17,74,16,116,15,-84,14,-24,13,46,13,123,12,-48,11,42,11,-97,10,5,10,113,9,-31,8,83,8,-56,7,59,7}; }
	private static byte[] data3(){ return new byte[] {-80,6,35,6,-111,5,0,5,101,4,-56,3,36,3,117,2,-39,1,26,1,82,0,-125,-1,-92,-2,-61,-3,-52,-4,-41,-5,-51,-6,-66,-7,-87,-8,-127,-9,93,-10,42,-11,-15,-13,-53,-14,-122,-15,71,-16,2,-17,-64,-19,127,-20,67,-21,11,-22,-35,-24,-77,-25,-100,-26,-123,-27,-117,-28,-109,-29,-68,-30,-19,-31,47,-31,-115,-32,-5,-33,-123,-33,37,-33,-32,-34,-79,-34,-92,-34,-89,-34,-48,-34,10,-33,102,-33,-41,-33,95,-32,3,-31,-63,-31,-104,-30,127,-29,-123,-28,-106,-27,-66,-26,-10,-25,61,-23,-111,-22,-13,-21,92,-19,-48,-18,73,-16,-74,-15,54,-13,-72,-12,57,-10,-72,-9,49,-7,-85,-6,21,-4,-128,-3,-39,-2,47,0,117,1,-80,2,-33,3,-24,4,-4,5,-1,6,-12,7,-35,8,-78,9,126,10,56,11,-22,11,-120,12,31,13,-88,13,38,14,-98,14,6,15,91,15,-70,15,11,16,104,16,-86,16,1,17,65,17,-112,17,-46,17,30,18,99,18,-77,18,-6,18,80,19,-102,19,-15,19,67,20,-91,20,1,21,98,21,-56,21,41,22,-108,22,-10,22,95,23,-63,23,35,24,-126,24,-41,24,49,25,123,25,-55,25,-8,25,49,26,76,26,100,26,107,26,92,26,71,26,17,26,-41,25,124,25,21,25,-108,24,15,24,99,23,-95,22,-58,21,-42,20,-47,19,-78,18,-128,17,57,16,-38,14,110,13,-22,11,87,10,-72,8,1,7,98,5,-113,3,-57,1,-24,-1,16,-2,42,-4,77,-6,101,-8,-115,-10,-82,-12,-34,-14,19,-15,86,-17,-97,-19,4,-20,119,-22,-1,-24,-117,-25,54,-26,-12,-28,-55,-29,-72,-30,-63,-31,-30,-32,35,-32,122,-33,-15,-34,-127,-34,48,-34,-3,-35,-28,-35,-32,-35,-5,-35,46,-34,122,-34,-35,-34,90,-33,-25,-33,-112,-32,69,-31,17,-30,-21,-30,-46,-29,-53,-28,-60,-27,-45,-26,-27,-25,1,-23,35,-22,73,-21,115,-20,-98,-19,-57,-18,-12,-17,29,-15,67,-14,104,-13,-125,-12,-95,-11,-95,-10,-79,-9,-73,-8,-73,-7,-78,-6,-93,-5,-114,-4,117,-3,79,-2,43,-1,-9,-1,-58,0,-119,1,77,2,-13,2,-83,3,96,4,22,5,-63,5,116,6,28,7,-51,7,116,8,37,9,-53,9,124,10,41,11,-43,11,-120,12,40,13,-40,13,-112,14,64,15,-9,15,-86,16,95,17,17,18,-59,18,114,19,32,20,-56,20,109,21,11,22,-91,22,49,23,-69,23,60,24,-76,24,33,25,-127,25,-38,25,24,26,92,26,122,26,-97,26,-94,26,-96,26,-124,26,95,26,37,26,-35,25,125,25,11,25,-118,24,-12,23,77,23,-103,22,-50,21,-10,20,18,20,24,19,23,18,8,17,-10,15,-42,14,-93,13,105,12,45,11,-29,9,-100,8,76,7,-6,5,-85,4,87,3,9,2,-69,0,113,-1,44,-2,1,-3,-58,-5,-100,-6,109,-7,86,-8,61,-9,55,-10,55,-11,73,-12,96,-13,-119,-14,-68,-15,-5,-16,75,-16,-91,-17,25,-17,-115,-18,12,-18,-105,-19,46,-19,-48,-20,123,-20,51,-20,-14,-21,-66,-21,-117,-21,107,-21,69,-21,50,-21,37,-21,20,-21,19,-21,8,-21,16,-21,15,-21,27,-21,37,-21,51,-21,68,-21,89,-21,109,-21,-121,-21,-94,-21,-67,-21,-36,-21,-6,-21,35,-20,74,-20,121,-20,-86,-20,-33,-20,29,-19,91,-19,-91,-19,-15,-19,71,-18,-92,-18,9,-17,117,-17,-33,-17,94,-16,-24,-16,126,-15,25,-14,-57,-14,122,-13,61,-12,4,-11,-31,-11,-67,-10,-81,-9,-90,-8,-90,-7,-90,-6,-74,-5,-36,-4,-1,-3,51,-1,102,0,-90,1,-25,2,47,4,120,5,-60,6,17,8,95,9,-86,10,-11,11,41,13,110,14,-90,15,-36,16,8,18,38,19,66,20,72,21,74,22,55,23,26,24,-22,24,-83,25,87,26,-6,26,122,27,-10,27,89,28,-87,28,-25,28,13,29,35,29,34,29,13,29,-27,28,-87,28,89,28,-9,27,-124,27,-5,26,110,26,-60,25,15,25,75,24,120,23,-104,22,-82,21,-72,20,-75,19,-79,18,-103,17,-119,16,100,15,70,14,43,13,1,12,-41,10,-87,9,124,8,80,7,33,6,-4,4,-50,3,-78,2,-117,1,115,0,92,-1,72,-2,62,-3,73,-4,74,-5,82,-6,94,-7,116,-8,-113,-9,-77,-10,-33,-11,15,-11,72,-12,-118,-13,-47,-14,32,-14,122,-15,-47,-16,75,-16,-79,-17,39,-17,-97,-18,31,-18,-88,-19,52,-19,-52,-20,101,-20,8,-20,-74,-21,94,-21,34,-21,-45,-22,-85,-22,109,-22,75,-22,29,-22,9,-22,-18,-23,-27,-23,-34,-23,-25,-23,-21,-23,11,-22,31,-22,78,-22,123,-22,-74,-22,-13,-22,64,-21,-106,-21,-10,-21,94,-20,-45,-20,77,-19,-42,-19,102,-18,-4,-18,-93,-17,73,-16,1,-15,-67,-15,-128,-14,65,-13,16,-12,-17,-12,-51,-11}; }
	private static byte[] data4(){ return new byte[] {-76,-10,-94,-9,-110,-8,-121,-7,-125,-6,126,-5,125,-4,-128,-3,-127,-2,-124,-1,122,0,119,1,125,2,122,3,121,4,112,5,106,6,86,7,73,8,43,9,16,10,-25,10,-65,11,-122,12,80,13,-5,13,-81,14,95,15,-6,15,-101,16,36,17,-83,17,41,18,-100,18,1,19,100,19,-76,19,2,20,65,20,119,20,-97,20,-58,20,-35,20,-15,20,-9,20,-9,20,-18,20,-38,20,-62,20,-99,20,116,20,64,20,7,20,-60,19,-127,19,47,19,-30,18,-128,18,32,18,-71,17,72,17,-42,16,90,16,-35,15,85,15,-51,14,62,14,-89,13,18,13,124,12,-31,11,49,11,-111,10,-43,9,45,9,108,8,-73,7,-13,6,51,6,106,5,-92,4,-46,3,6,3,51,2,109,1,-104,0,-66,-1,-28,-2,7,-2,44,-3,75,-4,112,-5,-109,-6,-80,-7,-36,-8,-11,-9,39,-9,71,-10,116,-11,-78,-12,-37,-13,25,-13,74,-14,-115,-15,-49,-16,21,-16,106,-17,-70,-18,29,-18,127,-19,-20,-20,100,-20,-32,-21,113,-21,-1,-22,-100,-22,66,-22,-15,-23,-79,-23,115,-23,75,-23,37,-23,19,-23,9,-23,10,-23,29,-23,53,-23,98,-23,-115,-23,-48,-23,28,-22,117,-22,-37,-22,74,-21,-55,-21,78,-20,-27,-20,126,-19,45,-18,-40,-18,-99,-17,90,-16,48,-15,-11,-15,-40,-14,-70,-13,-84,-12,-102,-11,-103,-10,-108,-9,-103,-8,-96,-7,-84,-6,-73,-5,-53,-4,-38,-3,-19,-2,-15,-1,1,1,21,2,37,3,49,4,64,5,66,6,73,7,72,8,64,9,54,10,36,11,5,12,-18,12,-67,13,-123,14,74,15,8,16,-69,16,105,17,4,18,-96,18,35,19,-85,19,22,20,-120,20,-35,20,53,21,116,21,-76,21,-42,21,-1,21,13,22,31,22,23,22,15,22,-15,21,-48,21,-97,21,101,21,33,21,-50,20,122,20,17,20,-86,19,51,19,-67,18,47,18,-87,17,13,17,116,16,-46,15,38,15,124,14,-61,13,15,13,79,12,-113,11,-51,10,16,10,73,9,124,8,-81,7,-31,6,18,6,68,5,112,4,-92,3,-46,2,5,2,56,1,107,0,-92,-1,-43,-2,41,-2,89,-3,-93,-4,-34,-5,38,-5,110,-6,-71,-7,8,-7,91,-8,-78,-9,12,-9,108,-10,-50,-11,52,-11,-93,-12,27,-12,-108,-13,11,-13,-119,-14,14,-14,-109,-15,37,-15,-75,-16,79,-16,-18,-17,-113,-17,62,-17,-23,-18,-92,-18,98,-18,39,-18,-16,-19,-62,-19,-106,-19,122,-19,91,-19,76,-19,66,-19,60,-19,71,-19,78,-19,105,-19,-124,-19,-84,-19,-41,-19,11,-18,78,-18,-108,-18,-26,-18,64,-17,-97,-17,14,-16,125,-16,-5,-16,124,-15,9,-14,-103,-14,56,-13,-44,-13,116,-12,33,-11,-42,-11,-111,-10,81,-9,21,-8,-31,-8,-84,-7,-126,-6,83,-5,44,-4,7,-3,-34,-3,-63,-2,-118,-1,105,0,71,1,31,2,-2,2,-47,3,-85,4,121,5,75,6,20,7,-36,7,-101,8,90,9,11,10,-61,10,89,11,3,12,-100,12,49,13,-62,13,69,14,-59,14,59,15,-87,15,16,16,110,16,-60,16,17,17,86,17,-107,17,-60,17,-12,17,22,18,55,18,76,18,89,18,100,18,92,18,92,18,71,18,52,18,24,18,-16,17,-53,17,-105,17,101,17,43,17,-27,16,-100,16,81,16,-9,15,-95,15,61,15,-39,14,108,14,-3,13,-126,13,9,13,-124,12,11,12,124,11,-21,10,82,10,-74,9,20,9,107,8,-63,7,12,7,89,6,-102,5,-35,4,22,4,80,3,-127,2,-64,1,-21,0,22,0,57,-1,97,-2,126,-3,-95,-4,-65,-5,-34,-6,-5,-7,28,-7,57,-8,91,-9,-128,-10,-94,-11,-34,-12,4,-12,58,-13,113,-14,-83,-15,-11,-16,60,-16,-110,-17,-18,-18,84,-18,-60,-19,58,-19,-60,-20,78,-20,-12,-21,-104,-21,78,-21,14,-21,-34,-22,-71,-22,-91,-22,-104,-22,-91,-22,-80,-22,-38,-22,2,-21,68,-21,-116,-21,-26,-21,66,-20,-73,-20,48,-19,-69,-19,77,-18,-22,-18,-108,-17,67,-16,-1,-16,-64,-15,-120,-14,89,-13,44,-12,10,-11,-26,-11,-66,-10,-96,-9,-118,-8,109,-7,90,-6,61,-5,38,-4,12,-3,-21,-3,-47,-2,-90,-1,-123,0,84,1,37,2,-30,2,-92,3,99,4,26,5,-53,5,119,6,24,7,-73,7,75,8,-39,8,101,9,-34,9,96,10,-52,10,62,11,-108,11,-7,11,78,12,-89,12,-13,12,59,13,-127,13,-65,13,-7,13,48,14,95,14,-115,14,-72,14,-38,14,-3,14,23,15,48,15,75,15,91,15,109,15,122,15,-127,15,-119,15,-119,15,-121,15,-126,15,117,15,104,15,83,15,59,15,35,15,-3,14,-37,14,-90,14,120,14,58,14,-5,13,-77,13,102,13,13,13,-75,12,78,12,-29,11,114,11,-1,10,-126,10}; }
	private static byte[] data5(){ return new byte[] {-11,9,103,9,-49,8,48,8,-116,7,-33,6,45,6,117,5,-71,4,-13,3,49,3,98,2,-108,1,-46,0,-7,-1,41,-1,78,-2,121,-3,-95,-4,-54,-5,-9,-6,36,-6,85,-7,-119,-8,-63,-9,1,-9,64,-10,-112,-11,-29,-12,65,-12,-100,-13,6,-13,116,-14,-17,-15,113,-15,1,-15,-109,-16,56,-16,-31,-17,-103,-17,90,-17,37,-17,-3,-18,-31,-18,-58,-18,-63,-18,-70,-18,-59,-18,-43,-18,-15,-18,21,-17,64,-17,116,-17,-81,-17,-14,-17,60,-16,-116,-16,-38,-16,58,-15,-109,-15,-4,-15,97,-14,-52,-14,62,-13,-84,-13,35,-12,-103,-12,16,-11,-114,-11,6,-10,-123,-10,4,-9,117,-9,-5,-9,116,-8,-2,-8,119,-7,1,-6,-128,-6,6,-5,-116,-5,17,-4,-104,-4,32,-3,-86,-3,52,-2,-76,-2,65,-1,-48,-1,96,0,-10,0,-123,1,31,2,-75,2,78,3,-21,3,-120,4,35,5,-57,5,98,6,10,7,-99,7,66,8,-29,8,-121,9,38,10,-54,10,98,11,4,12,-103,12,47,13,-59,13,75,14,-38,14,86,15,-43,15,71,16,-80,16,29,17,111,17,-52,17,15,18,81,18,-124,18,-84,18,-55,18,-39,18,-32,18,-43,18,-64,18,-95,18,111,18,59,18,-20,17,-103,17,54,17,-59,16,75,16,-62,15,47,15,-110,14,-24,13,52,13,123,12,-77,11,-14,10,30,10,67,9,99,8,-128,7,-108,6,-85,5,-67,4,-55,3,-32,2,-23,1,-1,0,18,0,37,-1,67,-2,107,-3,-115,-4,-71,-5,-28,-6,29,-6,89,-7,-98,-8,-21,-9,66,-9,-97,-10,11,-10,118,-11,-8,-12,119,-12,8,-12,-85,-13,69,-13,-7,-14,-92,-14,102,-14,42,-14,-9,-15,-50,-15,-84,-15,-110,-15,125,-15,116,-15,105,-15,108,-15,118,-15,125,-15,-113,-15,-97,-15,-71,-15,-45,-15,-14,-15,20,-14,54,-14,97,-14,-122,-14,-74,-14,-32,-14,20,-13,64,-13,118,-13,-91,-13,-31,-13,21,-12,84,-12,-115,-12,-48,-12,15,-11,84,-11,-102,-11,-25,-11,49,-10,-124,-10,-41,-10,47,-9,-126,-9,-30,-9,72,-8,-81,-8,30,-7,-111,-7,7,-6,-120,-6,4,-5,-112,-5,25,-4,-86,-4,65,-3,-42,-3,112,-2,10,-1,-70,-1,89,0,15,1,-74,1,111,2,29,3,-42,3,-122,4,65,5,-15,5,-88,6,87,7,9,8,-85,8,86,9,-9,9,-101,10,50,11,-53,11,84,12,-36,12,91,13,-48,13,62,14,-93,14,-5,14,79,15,-110,15,-51,15,-2,15,37,16,66,16,81,16,90,16,84,16,69,16,45,16,5,16,-35,15,-98,15,100,15,21,15,-60,14,110,14,11,14,-95,13,52,13,-69,12,68,12,-65,11,61,11,-75,10,38,10,-99,9,7,9,119,8,-29,7,89,7,-62,6,50,6,-103,5,10,5,119,4,-24,3,87,3,-51,2,63,2,-69,1,49,1,-79,0,45,0,-81,-1,63,-1,-61,-2,77,-2,-41,-3,99,-3,-15,-4,-124,-4,17,-4,-86,-5,58,-5,-46,-6,105,-6,1,-6,-103,-7,52,-7,-44,-8,113,-8,10,-8,-88,-9,64,-9,-32,-10,124,-10,24,-10,-70,-11,86,-11,-4,-12,-102,-12,66,-12,-26,-13,-107,-13,62,-13,-17,-14,-96,-14,85,-14,20,-14,-52,-15,-101,-15,92,-15,52,-15,8,-15,-24,-16,-50,-16,-67,-16,-77,-16,-79,-16,-72,-16,-56,-16,-26,-16,10,-15,58,-15,115,-15,-71,-15,3,-14,98,-14,-64,-14,46,-13,-86,-13,37,-12,-75,-12,60,-11,-36,-11,127,-10,47,-9,-33,-9,-95,-8,92,-7,43,-6,-15,-6,-57,-5,-104,-4,114,-3,73,-2,37,-1,-10,-1,-49,0,-84,1,127,2,89,3,41,4,-9,4,-61,5,-126,6,68,7,-7,7,-87,8,83,9,-17,9,-116,10,10,11,-106,11,14,12,-128,12,-23,12,69,13,-104,13,-29,13,34,14,84,14,-124,14,-96,14,-68,14,-58,14,-47,14,-59,14,-65,14,-88,14,-113,14,109,14,69,14,21,14,-29,13,-92,13,108,13,33,13,-33,12,-111,12,67,12,-15,11,-95,11,74,11,-14,10,-102,10,60,10,-30,9,-126,9,38,9,-59,8,102,8,5,8,-92,7,66,7,-31,6,-121,6,33,6,-62,5,89,5,-11,4,-111,4,36,4,-62,3,82,3,-21,2,122,2,14,2,-100,1,43,1,-73,0,73,0,-43,-1,87,-1,-33,-2,96,-2,-32,-3,98,-3,-36,-4,92,-4,-43,-5,80,-5,-50,-6,66,-6,-63,-7,56,-7,-66,-8,57,-8,-71,-9,53,-9,-67,-10,61,-10,-53,-11,83,-11,-23,-12,123,-12,25,-12,-70,-13,93,-13,20,-13,-64,-14,-119,-14,64,-14,21,-14,-29,-15,-60,-15,-90,-15,-105,-15,-117,-15,-113,-15,-104,-15,-85,-15,-56,-15,-19,-15,29,-14,81,-14,-109,-14,-40,-14,46,-13,-126,-13,-25,-13,76,-12,-68,-12,50,-11,-86,-11,47,-10,-79,-10,59,-9,-50,-9}; }
	private static byte[] data6(){ return new byte[] {87,-8,-19,-8,122,-7,26,-6,-82,-6,78,-5,-28,-5,-124,-4,25,-3,-72,-3,75,-2,-26,-2,118,-1,10,0,-104,0,26,1,-93,1,39,2,-88,2,39,3,-96,3,22,4,-122,4,-10,4,93,5,-59,5,35,6,-125,6,-37,6,50,7,124,7,-56,7,24,8,91,8,-91,8,-29,8,36,9,95,9,-102,9,-48,9,4,10,56,10,101,10,-106,10,-67,10,-25,10,9,11,52,11,80,11,116,11,-114,11,-86,11,-63,11,-42,11,-27,11,-12,11,-1,11,2,12,8,12,2,12,-1,11,-9,11,-31,11,-49,11,-79,11,-110,11,106,11,60,11,8,11,-50,10,-114,10,69,10,-9,9,-94,9,77,9,-22,8,-127,8,16,8,-102,7,28,7,-106,6,17,6,123,5,-17,4,77,4,-77,3,13,3,106,2,-67,1,29,1,104,0,-66,-1,5,-1,89,-2,-97,-3,-15,-4,61,-4,-114,-5,-32,-6,54,-6,-114,-7,-23,-8,79,-8,-82,-9,41,-9,-108,-10,18,-10,-115,-11,21,-11,-92,-12,54,-12,-36,-13,123,-13,49,-13,-26,-14,-86,-14,115,-14,74,-14,39,-14,17,-14,-4,-15,-7,-15,-10,-15,3,-14,18,-14,47,-14,82,-14,122,-14,-82,-14,-30,-14,39,-13,104,-13,-74,-13,4,-12,86,-12,-72,-12,12,-11,123,-11,-41,-11,73,-10,-80,-10,34,-9,-111,-9,7,-8,120,-8,-15,-8,102,-7,-35,-7,79,-6,-59,-6,61,-5,-74,-5,43,-4,-91,-4,25,-3,-110,-3,3,-2,122,-2,-20,-2,95,-1,-46,-1,66,0,-91,0,26,1,-128,1,-11,1,91,2,-56,2,50,3,-101,3,2,4,105,4,-48,4,51,5,-103,5,-8,5,91,6,-79,6,18,7,108,7,-57,7,32,8,119,8,-54,8,29,9,105,9,-72,9,-2,9,71,10,-124,10,-57,10,-6,10,51,11,94,11,-112,11,-78,11,-42,11,-14,11,6,12,25,12,34,12,36,12,38,12,24,12,11,12,-12,11,-43,11,-74,11,-117,11,90,11,33,11,-29,10,-99,10,81,10,3,10,-91,9,77,9,-27,8,-128,8,16,8,-97,7,47,7,-76,6,56,6,-77,5,49,5,-88,4,31,4,-107,3,7,3,123,2,-21,1,95,1,-49,0,67,0,-73,-1,50,-1,-82,-2,33,-2,-95,-3,28,-3,-99,-4,33,-4,-88,-5,53,-5,-64,-6,86,-6,-20,-7,-122,-7,41,-7,-54,-8,124,-8,40,-8,-37,-9,-111,-9,76,-9,13,-9,-47,-10,-102,-10,104,-10,58,-10,16,-10,-19,-11,-54,-11,-81,-11,-105,-11,-123,-11,112,-11,104,-11,88,-11,88,-11,83,-11,83,-11,90,-11,97,-11,107,-11,126,-11,-119,-11,-90,-11,-71,-11,-43,-11,-15,-11,23,-10,55,-10,103,-10,-117,-10,-63,-10,-15,-10,39,-9,100,-9,-98,-9,-31,-9,40,-8,106,-8,-65,-8,-1,-8,89,-7,-84,-7,9,-6,100,-6,-52,-6,42,-5,-101,-5,-1,-5,116,-4,-27,-4,89,-3,-44,-3,77,-2,-62,-2,65,-1,-62,-1,69,0,-54,0,80,1,-45,1,93,2,-31,2,105,3,-16,3,113,4,-6,4,118,5,-4,5,109,6,-19,6,96,7,-39,7,68,8,-74,8,25,9,126,9,-37,9,50,10,-122,10,-46,10,23,11,88,11,-114,11,-61,11,-24,11,18,12,43,12,67,12,82,12,88,12,88,12,82,12,65,12,46,12,15,12,-19,11,-62,11,-112,11,93,11,29,11,-34,10,-111,10,69,10,-17,9,-104,9,59,9,-41,8,116,8,8,8,-99,7,44,7,-71,6,74,6,-43,5,88,5,-31,4,98,4,-27,3,105,3,-24,2,109,2,-21,1,110,1,-15,0,116,0,-8,-1,125,-1,13,-1,-108,-2,33,-2,-88,-3,60,-3,-58,-4,94,-4,-18,-5,-118,-5,33,-5,-64,-6,94,-6,0,-6,-87,-7,80,-7,4,-7,-79,-8,100,-8,28,-8,-45,-9,-109,-9,79,-9,23,-9,-34,-10,-87,-10,122,-10,77,-10,36,-10,1,-10,-31,-11,-57,-11,-83,-11,-101,-11,-119,-11,-128,-11,119,-11,119,-11,118,-11,-127,-11,-121,-11,-99,-11,-84,-11,-55,-11,-27,-11,4,-10,46,-10,85,-10,-120,-10,-69,-10,-13,-10,51,-9,112,-9,-70,-9,1,-8,79,-8,-93,-8,-12,-8,83,-7,-87,-7,7,-6,102,-6,-51,-6,54,-5,-97,-5,12,-4,124,-4,-20,-4,93,-3,-43,-3,67,-2,-65,-2,50,-1,-89,-1,25,0,-117,0,5,1,121,1,-22,1,98,2,-52,2,70,3,-86,3,29,4,-126,4,-23,4,80,5,-83,5,15,6,95,6,-71,6,10,7,92,7,-88,7,-18,7,51,8,112,8,-81,8,-29,8,22,9,68,9,108,9,-111,9,-75,9,-59,9,-24,9,-18,9,7,10,9,10,17,10,18,10,10,10,7,10,-11,9,-25,9,-48,9,-71,9,-106,9,124,9,80,9,48,9,-4,8,-48,8,-102,8,98,8,39,8,-21,7,-91,7,102,7,25,7}; }
	private static byte[] data7(){ return new byte[] {-47,6,-123,6,50,6,-24,5,-110,5,59,5,-29,4,-121,4,40,4,-54,3,104,3,7,3,-94,2,61,2,-43,1,111,1,6,1,-99,0,60,0,-48,-1,104,-1,-5,-2,-108,-2,38,-2,-63,-3,84,-3,-17,-4,-122,-4,33,-4,-67,-5,89,-5,-7,-6,-104,-6,68,-6,-25,-7,-113,-7,59,-7,-28,-8,-103,-8,73,-8,2,-8,-68,-9,121,-9,61,-9,0,-9,-50,-10,-103,-10,113,-10,71,-10,35,-10,4,-10,-23,-11,-45,-11,-60,-11,-73,-11,-80,-11,-78,-11,-79,-11,-65,-11,-55,-11,-33,-11,-9,-11,17,-10,54,-10,91,-10,-120,-10,-68,-10,-20,-10,47,-9,101,-9,-77,-9,-15,-9,70,-8,-113,-8,-22,-8,59,-7,-100,-7,-16,-7,85,-6,-72,-6,30,-5,-118,-5,-13,-5,102,-4,-49,-4,70,-3,-73,-3,41,-2,-95,-2,20,-1,-119,-1,-5,-1,107,0,-25,0,86,1,-52,1,64,2,-82,2,35,3,-117,3,-3,3,97,4,-51,4,47,5,-112,5,-12,5,66,6,-97,6,-13,6,64,7,-108,7,-42,7,30,8,94,8,-104,8,-46,8,1,9,51,9,88,9,-128,9,-101,9,-72,9,-55,9,-35,9,-26,9,-17,9,-18,9,-17,9,-33,9,-36,9,-64,9,-78,9,-111,9,114,9,81,9,34,9,0,9,-58,8,-102,8,89,8,35,8,-31,7,-101,7,90,7,10,7,-61,6,111,6,34,6,-57,5,120,5,31,5,-56,4,108,4,13,4,-81,3,79,3,-18,2,-117,2,43,2,-58,1,100,1,0,1,-99,0,58,0,-41,-1,125,-1,25,-1,-67,-2,87,-2,-2,-3,-99,-3,64,-3,-21,-4,-118,-4,57,-4,-31,-5,-116,-5,62,-5,-21,-6,-95,-6,89,-6,21,-6,-54,-7,-116,-7,72,-7,13,-7,-46,-8,-102,-8,101,-8,56,-8,5,-8,-31,-9,-78,-9,-105,-9,115,-9,91,-9,64,-9,43,-9,29,-9,10,-9,8,-9,-5,-10,1,-9,-1,-10,7,-9,18,-9,33,-9,52,-9,75,-9,100,-9,-126,-9,-90,-9,-51,-9,-10,-9,39,-8,89,-8,-114,-8,-55,-8,8,-7,68,-7,-112,-7,-48,-7,34,-6,104,-6,-68,-6,6,-5,99,-5,-74,-5,20,-4,110,-4,-50,-4,45,-3,-115,-3,-14,-3,85,-2,-73,-2,32,-1,-126,-1,-31,-1,74,0,-86,0,19,1,118,1,-41,1,62,2,-104,2,-1,2,85,3,-71,3,11,4,103,4,-69,4,12,5,89,5,-92,5,-19,5,55,6,120,6,-70,6,-11,6,48,7,101,7,-105,7,-59,7,-16,7,22,8,57,8,89,8,111,8,-119,8,-100,8,-87,8,-71,8,-69,8,-60,8,-64,8,-66,8,-74,8,-86,8,-100,8,-120,8,115,8,87,8,63,8,26,8,-4,7,-49,7,-87,7,122,7,71,7,23,7,-34,6,-92,6,105,6,41,6,-25,5,-93,5,97,5,23,5,-51,4,125,4,47,4,-37,3,-121,3,50,3,-39,2,127,2,37,2,-56,1,106,1,12,1,-86,0,81,0,-15,-1,-116,-1,46,-1,-59,-2,103,-2,4,-2,-96,-3,66,-3,-34,-4,125,-4,35,-4,-63,-5,106,-5,12,-5,-68,-6,102,-6,17,-6,-60,-7,114,-7,43,-7,-28,-8,-100,-8,98,-8,33,-8,-20,-9,-73,-9,-120,-9,93,-9,57,-9,25,-9,-8,-10,-26,-10,-49,-10,-60,-10,-68,-10,-74,-10,-67,-10,-65,-10,-46,-10,-34,-10,-5,-10,18,-9,54,-9,90,-9,-124,-9,-75,-9,-26,-9,33,-8,90,-8,-96,-8,-33,-8,43,-7,114,-7,-59,-7,19,-6,105,-6,-64,-6,22,-5,112,-5,-56,-5,41,-4,-123,-4,-23,-4,71,-3,-88,-3,13,-2,106,-2,-47,-2,45,-1,-112,-1,-17,-1,78,0,-91,0,2,1,91,1,-75,1,10,2,100,2,-79,2,10,3,80,3,-93,3,-22,3,52,4,118,4,-67,4,-9,4,52,5,110,5,-93,5,-34,5,10,6,64,6,104,6,-105,6,-68,6,-31,6,4,7,36,7,64,7,90,7,114,7,-126,7,-103,7,-93,7,-76,7,-69,7,-63,7,-54,7,-60,7,-55,7,-63,7,-70,7,-78,7,-96,7,-108,7,126,7,108,7,82,7,52,7,24,7,-15,6,-47,6,-93,6,122,6,74,6,23,6,-27,5,-89,5,115,5,45,5,-8,4,-82,4,108,4,32,4,-42,3,-121,3,55,3,-29,2,-112,2,57,2,-33,1,-117,1,40,1,-45,0,114,0,28,0,-65,-1,94,-1,3,-1,-94,-2,71,-2,-24,-3,-116,-3,52,-3,-41,-4,-126,-4,44,-4,-42,-5,-121,-5,55,-5,-16,-6,-89,-6,97,-6,27,-6,-32,-7,-97,-7,108,-7,50,-7,6,-7,-43,-8,-80,-8,-118,-8,105,-8,80,-8,54,-8,38,-8,19,-8,12,-8,1,-8,0,-8,0,-8,6,-8,16,-8,27,-8,44,-8,65,-8,87,-8,119,-8,-114,-8,-75,-8,-44,-8,0,-7,37,-7,86,-7,-126,-7,-73,-7,-24,-7,32,-6}; }
	private static byte[] data8(){ return new byte[] {85,-6,-109,-6,-54,-6,12,-5,69,-5,-117,-5,-60,-5,7,-4,77,-4,-115,-4,-40,-4,27,-3,101,-3,-84,-3,-11,-3,64,-2,-121,-2,-41,-2,28,-1,110,-1,-81,-1,-2,-1,74,0,-106,0,-28,0,48,1,126,1,-55,1,23,2,99,2,-81,2,-7,2,70,3,-113,3,-41,3,31,4,95,4,-83,4,-20,4,50,5,115,5,-78,5,-15,5,44,6,100,6,-100,6,-48,6,0,7,46,7,91,7,124,7,-89,7,-64,7,-29,7,-10,7,14,8,30,8,39,8,53,8,47,8,52,8,42,8,34,8,15,8,-2,7,-30,7,-55,7,-92,7,125,7,82,7,34,7,-20,6,-73,6,117,6,58,6,-15,5,-84,5,95,5,17,5,-59,4,113,4,26,4,-62,3,103,3,11,3,-83,2,80,2,-18,1,-112,1,47,1,-52,0,113,0,11,0,-78,-1,85,-1,-5,-2,-97,-2,68,-2,-18,-3,-106,-3,70,-3,-15,-4,-91,-4,88,-4,15,-4,-54,-5,-121,-5,69,-5,13,-5,-46,-6,-93,-6,105,-6,65,-6,14,-6,-22,-7,-60,-7,-98,-7,-120,-7,97,-7,85,-7,53,-7,44,-7,22,-7,18,-7,3,-7,2,-7,-6,-8,-4,-8,-4,-8,2,-7,6,-7,19,-7,25,-7,47,-7,54,-7,81,-7,94,-7,122,-7,-112,-7,-88,-7,-55,-7,-28,-7,7,-6,43,-6,77,-6,119,-6,-98,-6,-55,-6,-7,-6,34,-5,91,-5,-122,-5,-62,-5,-18,-5,42,-4,101,-4,-96,-4,-32,-4,30,-3,97,-3,-91,-3,-22,-3,48,-2,121,-2,-61,-2,12,-1,91,-1,-97,-1,-15,-1,58,0,-112,0,-37,0,44,1,-128,1,-55,1,31,2,107,2,-70,2,9,3,86,3,-98,3,-19,3,43,4,119,4,-73,4,-5,4,59,5,118,5,-78,5,-24,5,25,6,80,6,117,6,-91,6,-59,6,-22,6,5,7,32,7,51,7,70,7,83,7,91,7,98,7,96,7,96,7,85,7,77,7,57,7,41,7,16,7,-11,6,-41,6,-74,6,-111,6,105,6,60,6,15,6,-35,5,-87,5,117,5,58,5,1,5,-60,4,-121,4,71,4,6,4,-55,3,-123,3,67,3,-3,2,-71,2,115,2,45,2,-24,1,-96,1,92,1,22,1,-50,0,-115,0,68,0,1,0,-59,-1,124,-1,64,-1,-6,-2,-69,-2,121,-2,59,-2,-6,-3,-64,-3,-127,-3,69,-3,12,-3,-48,-4,-102,-4,96,-4,48,-4,-8,-5,-56,-5,-112,-5,100,-5,47,-5,5,-5,-45,-6,-84,-6,127,-6,88,-6,52,-6,12,-6,-20,-7,-49,-7,-84,-7,-105,-7,118,-7,105,-7,74,-7,68,-7,43,-7,40,-7,27,-7,23,-7,23,-7,22,-7,29,-7,36,-7,47,-7,63,-7,81,-7,106,-7,-126,-7,-94,-7,-60,-7,-23,-7,20,-6,64,-6,113,-6,-90,-6,-37,-6,26,-5,84,-5,-106,-5,-44,-5,32,-4,103,-4,-78,-4,3,-3,79,-3,-90,-3,-11,-3,76,-2,-94,-2,-8,-2,81,-1,-89,-1,-5,-1,83,0,-86,0,2,1,87,1,-82,1,-1,1,84,2,-94,2,-12,2,60,3,-117,3,-50,3,20,4,89,4,-114,4,-48,4,5,5,59,5,109,5,-100,5,-58,5,-18,5,17,6,49,6,77,6,103,6,121,6,-114,6,-104,6,-92,6,-86,6,-84,6,-81,6,-87,6,-89,6,-102,6,-111,6,127,6,114,6,88,6,71,6,42,6,16,6,-13,5,-46,5,-75,5,-115,5,109,5,63,5,30,5,-19,4,-58,4,-105,4,104,4,58,4,7,4,-40,3,-96,3,116,3,60,3,8,3,-50,2,-103,2,93,2,37,2,-21,1,-84,1,116,1,53,1,-9,0,-69,0,122,0,61,0,0,0,-60,-1,126,-1,68,-1,-2,-2,-63,-2,126,-2,64,-2,-4,-3,-64,-3,127,-3,63,-3,2,-3,-58,-4,-122,-4,84,-4,21,-4,-33,-5,-88,-5,113,-5,64,-5,12,-5,-34,-6,-78,-6,-124,-6,96,-6,56,-6,22,-6,-9,-7,-37,-7,-61,-7,-84,-7,-104,-7,-117,-7,124,-7,119,-7,111,-7,111,-7,114,-7,120,-7,-127,-7,-112,-7,-98,-7,-74,-7,-54,-7,-25,-7,5,-6,39,-6,76,-6,117,-6,-98,-6,-48,-6,-4,-6,51,-5,103,-5,-98,-5,-38,-5,20,-4,82,-4,-114,-4,-52,-4,17,-3,80,-3,-106,-3,-38,-3,28,-2,101,-2,-90,-2,-17,-2,49,-1,120,-1,-69,-1,1,0,60,0,-126,0,-64,0,3,1,66,1,-127,1,-69,1,-5,1,49,2,109,2,-93,2,-39,2,12,3,64,3,112,3,-102,3,-54,3,-13,3,31,4,70,4,107,4,-108,4,-80,4,-41,4,-13,4,15,5,46,5,67,5,93,5,115,5,-126,5,-104,5,-93,5,-75,5,-65,5,-56,5,-48,5,-41,5,-42,5,-35,5,-42,5,-42,5,-50,5,-58,5,-67,5,-82,5,-92,5,-118,5,126,5,96,5,75,5}; }
	private static byte[] data9(){ return new byte[] {42,5,17,5,-22,4,-55,4,-94,4,118,4,79,4,28,4,-14,3,-67,3,-118,3,80,3,23,3,-35,2,-102,2,98,2,24,2,-36,1,-108,1,77,1,10,1,-66,0,120,0,50,0,-25,-1,-98,-1,85,-1,7,-1,-63,-2,117,-2,44,-2,-25,-3,-101,-3,91,-3,18,-3,-44,-4,-113,-4,83,-4,24,-4,-32,-5,-91,-5,114,-5,63,-5,13,-5,-28,-6,-75,-6,-109,-6,110,-6,77,-6,50,-6,21,-6,5,-6,-18,-7,-29,-7,-43,-7,-50,-7,-55,-7,-56,-7,-56,-7,-48,-7,-42,-7,-27,-7,-15,-7,5,-6,24,-6,47,-6,77,-6,101,-6,-122,-6,-88,-6,-54,-6,-13,-6,26,-5,66,-5,115,-5,-101,-5,-48,-5,-4,-5,49,-4,99,-4,-104,-4,-50,-4,0,-3,55,-3,112,-3,-88,-3,-32,-3,28,-2,83,-2,-113,-2,-54,-2,3,-1,63,-1,121,-1,-77,-1,-17,-1,35,0,96,0,-107,0,-44,0,8,1,67,1,122,1,-77,1,-27,1,34,2,80,2,-119,2,-69,2,-21,2,32,3,73,3,123,3,-90,3,-43,3,-3,3,40,4,79,4,118,4,-102,4,-68,4,-36,4,-6,4,26,5,47,5,76,5,93,5,112,5,-123,5,-115,5,-96,5,-92,5,-84,5,-79,5,-81,5,-79,5,-87,5,-93,5,-104,5,-116,5,121,5,107,5,82,5,60,5,32,5,0,5,-29,4,-66,4,-105,4,113,4,68,4,26,4,-23,3,-71,3,-125,3,87,3,27,3,-24,2,-85,2,113,2,54,2,-8,1,-67,1,122,1,63,1,-3,0,-66,0,-128,0,62,0,-2,-1,-59,-1,-124,-1,71,-1,11,-1,-54,-2,-110,-2,86,-2,27,-2,-26,-3,-84,-3,119,-3,70,-3,17,-3,-31,-4,-76,-4,-121,-4,97,-4,51,-4,17,-4,-25,-5,-57,-5,-89,-5,-124,-5,110,-5,77,-5,57,-5,34,-5,13,-5,-1,-6,-21,-6,-28,-6,-45,-6,-48,-6,-60,-6,-63,-6,-64,-6,-68,-6,-60,-6,-64,-6,-52,-6,-47,-6,-37,-6,-23,-6,-10,-6,4,-5,23,-5,43,-5,63,-5,91,-5,111,-5,-112,-5,-87,-5,-51,-5,-22,-5,15,-4,52,-4,89,-4,-126,-4,-82,-4,-48,-4,5,-3,43,-3,97,-3,-112,-3,-63,-3,-7,-3,41,-2,100,-2,-105,-2,-46,-2,10,-1,68,-1,125,-1,-73,-1,-17,-1,46,0,104,0,-92,0,-30,0,28,1,90,1,-108,1,-49,1,10,2,67,2,123,2,-76,2,-24,2,29,3,78,3,-126,3,-80,3,-31,3,12,4,57,4,96,4,-123,4,-83,4,-54,4,-20,4,8,5,32,5,57,5,76,5,93,5,107,5,120,5,127,5,-120,5,-119,5,-120,5,-120,5,127,5,120,5,108,5,93,5,76,5,58,5,32,5,12,5,-19,4,-47,4,-82,4,-114,4,102,4,68,4,21,4,-17,3,-67,3,-107,3,96,3,50,3,0,3,-51,2,-102,2,96,2,47,2,-15,1,-66,1,-126,1,75,1,16,1,-40,0,-100,0,101,0,42,0,-16,-1,-67,-1,-126,-1,76,-1,19,-1,-35,-2,-90,-2,115,-2,60,-2,10,-2,-40,-3,-90,-3,119,-3,73,-3,26,-3,-15,-4,-58,-4,-95,-4,120,-4,82,-4,47,-4,13,-4,-22,-5,-46,-5,-84,-5,-102,-5,124,-5,103,-5,83,-5,63,-5,48,-5,36,-5,19,-5,14,-5,2,-5,-1,-6,-5,-6,-9,-6,-2,-6,-6,-6,8,-5,7,-5,25,-5,32,-5,50,-5,64,-5,83,-5,105,-5,-127,-5,-105,-5,-72,-5,-49,-5,-11,-5,18,-4,54,-4,94,-4,-127,-4,-83,-4,-43,-4,0,-3,46,-3,87,-3,-115,-3,-72,-3,-18,-3,31,-2,84,-2,-119,-2,-67,-2,-11,-2,41,-1,99,-1,-105,-1,-47,-1,2,0,60,0,112,0,-87,0,-32,0,18,1,77,1,123,1,-75,1,-29,1,24,2,70,2,120,2,-92,2,-46,2,-6,2,36,3,75,3,116,3,-106,3,-68,3,-37,3,-6,3,25,4,50,4,78,4,98,4,121,4,-117,4,-99,4,-88,4,-73,4,-66,4,-55,4,-51,4,-47,4,-44,4,-49,4,-48,4,-57,4,-61,4,-73,4,-83,4,-98,4,-114,4,126,4,106,4,85,4,61,4,36,4,7,4,-19,3,-53,3,-83,3,-117,3,102,3,66,3,28,3,-14,2,-47,2,-95,2,121,2,76,2,30,2,-15,1,-63,1,-113,1,99,1,44,1,-1,0,-54,0,-106,0,104,0,46,0,4,0,-50,-1,-101,-1,103,-1,54,-1,0,-1,-45,-2,-101,-2,110,-2,60,-2,13,-2,-36,-3,-78,-3,127,-3,90,-3,44,-3,8,-3,-38,-4,-71,-4,-113,-4,110,-4,76,-4,41,-4,14,-4,-18,-5,-42,-5,-69,-5,-91,-5,-113,-5,-126,-5,105,-5,100,-5,79,-5,75,-5,65,-5,59,-5,56,-5,56,-5,56,-5,60,-5,69,-5,71,-5,91,-5,92,-5,118,-5,126,-5,-105,-5,-85,-5}; }
	private static byte[] data10(){ return new byte[] {-62,-5,-35,-5,-8,-5,23,-4,52,-4,91,-4,120,-4,-94,-4,-56,-4,-19,-4,29,-3,63,-3,112,-3,-101,-3,-52,-3,-5,-3,44,-2,95,-2,-113,-2,-59,-2,-9,-2,44,-1,99,-1,-110,-1,-49,-1,-7,-1,51,0,103,0,-103,0,-46,0,2,1,54,1,107,1,-103,1,-49,1,-7,1,46,2,87,2,-121,2,-81,2,-38,2,-1,2,41,3,75,3,114,3,-112,3,-74,3,-51,3,-16,3,6,4,31,4,55,4,73,4,93,4,106,4,122,4,-127,4,-112,4,-110,4,-101,4,-102,4,-99,4,-104,4,-104,4,-113,4,-121,4,125,4,111,4,98,4,79,4,64,4,39,4,22,4,-8,3,-30,3,-61,3,-89,3,-122,3,103,3,66,3,33,3,-7,2,-44,2,-83,2,-123,2,92,2,51,2,3,2,-35,1,-87,1,-127,1,78,1,34,1,-13,0,-63,0,-107,0,97,0,53,0,2,0,-40,-1,-89,-1,121,-1,73,-1,27,-1,-18,-2,-67,-2,-105,-2,98,-2,63,-2,17,-2,-26,-3,-61,-3,-108,-3,118,-3,77,-3,46,-3,8,-3,-23,-4,-55,-4,-86,-4,-114,-4,114,-4,90,-4,63,-4,45,-4,20,-4,6,-4,-15,-5,-26,-5,-43,-5,-50,-5,-63,-5,-69,-5,-74,-5,-81,-5,-78,-5,-84,-5,-74,-5,-78,-5,-64,-5,-62,-5,-48,-5,-39,-5,-23,-5,-11,-5,12,-4,26,-4,53,-4,69,-4,103,-4,120,-4,-98,-4,-77,-4,-38,-4,-10,-4,28,-3,63,-3,97,-3,-116,-3,-85,-3,-36,-3,-1,-3,47,-2,87,-2,-121,-2,-80,-2,-30,-2,13,-1,62,-1,108,-1,-100,-1,-54,-1,-8,-1,40,0,85,0,-121,0,-78,0,-27,0,16,1,64,1,105,1,-103,1,-64,1,-18,1,21,2,63,2,99,2,-118,2,-87,2,-45,2,-17,2,19,3,47,3,78,3,105,3,-125,3,-101,3,-79,3,-59,3,-38,3,-24,3,-5,3,2,4,19,4,24,4,34,4,40,4,41,4,47,4,44,4,43,4,39,4,34,4,25,4,19,4,2,4,-4,3,-24,3,-35,3,-57,3,-74,3,-97,3,-120,3,114,3,84,3,61,3,27,3,1,3,-34,2,-63,2,-100,2,123,2,88,2,50,2,11,2,-28,1,-67,1,-112,1,107,1,59,1,21,1,-28,0,-66,0,-119,0,100,0,48,0,10,0,-37,-1,-84,-1,-127,-1,79,-1,39,-1,-12,-2,-49,-2,-103,-2,119,-2,68,-2,33,-2,-16,-3,-50,-3,-95,-3,-127,-3,91,-3,51,-3,20,-3,-14,-4,-49,-4,-74,-4,-111,-4,126,-4,94,-4,75,-4,51,-4,30,-4,15,-4,-5,-5,-12,-5,-31,-5,-35,-5,-48,-5,-49,-5,-57,-5,-52,-5,-58,-5,-49,-5,-46,-5,-40,-5,-27,-5,-18,-5,-3,-5,13,-4,29,-4,51,-4,69,-4,98,-4,117,-4,-104,-4,-82,-4,-49,-4,-15,-4,14,-3,54,-3,87,-3,125,-3,-93,-3,-55,-3,-16,-3,26,-2,69,-2,108,-2,-101,-2,-59,-2,-17,-2,31,-1,73,-1,117,-1,-91,-1,-52,-1,-3,-1,35,0,81,0,122,0,-89,0,-50,0,-5,0,34,1,75,1,114,1,-104,1,-66,1,-29,1,5,2,42,2,73,2,103,2,-121,2,-92,2,-63,2,-35,2,-13,2,17,3,35,3,61,3,79,3,97,3,116,3,-125,3,-110,3,-98,3,-87,3,-78,3,-69,3,-62,3,-59,3,-51,3,-56,3,-47,3,-57,3,-53,3,-62,3,-68,3,-72,3,-85,3,-95,3,-104,3,-125,3,126,3,97,3,90,3,60,3,44,3,19,3,-6,2,-31,2,-60,2,-87,2,-119,2,107,2,76,2,41,2,10,2,-31,1,-66,1,-107,1,109,1,71,1,27,1,-14,0,-56,0,-99,0,113,0,73,0,24,0,-15,-1,-61,-1,-101,-1,114,-1,70,-1,35,-1,-12,-2,-46,-2,-89,-2,-126,-2,93,-2,56,-2,18,-2,-13,-3,-54,-3,-75,-3,-117,-3,118,-3,78,-3,60,-3,25,-3,5,-3,-22,-4,-43,-4,-66,-4,-83,-4,-103,-4,-118,-4,124,-4,109,-4,101,-4,89,-4,83,-4,76,-4,70,-4,70,-4,67,-4,68,-4,73,-4,75,-4,80,-4,93,-4,95,-4,114,-4,120,-4,-118,-4,-104,-4,-84,-4,-67,-4,-46,-4,-22,-4,-1,-4,27,-3,51,-3,80,-3,109,-3,-119,-3,-84,-3,-56,-3,-20,-3,10,-2,46,-2,84,-2,117,-2,-97,-2,-64,-2,-21,-2,15,-1,56,-1,95,-1,-121,-1,-81,-1,-39,-1,-5,-1,39,0,77,0,119,0,-101,0,-58,0,-20,0,16,1,61,1,88,1,-122,1,-91,1,-55,1,-19,1,12,2,43,2,74,2,105,2,-122,2,-96,2,-66,2,-45,2,-18,2,4,3,23,3,46,3,61,3,79,3,93,3,107,3,117,3,-127,3,-121,3,-111,3,-110,3,-104,3,-103,3,-101,3,-106,3,-106,3,-115,3,-119,3,-126,3,115,3,110,3,91,3}; }
	private static byte[] data11(){ return new byte[] {81,3,62,3,46,3,26,3,6,3,-18,2,-39,2,-67,2,-88,2,-122,2,112,2,78,2,49,2,20,2,-14,1,-45,1,-82,1,-115,1,105,1,67,1,33,1,-6,0,-46,0,-77,0,-126,0,102,0,55,0,21,0,-17,-1,-55,-1,-95,-1,125,-1,84,-1,48,-1,11,-1,-28,-2,-62,-2,-98,-2,120,-2,90,-2,55,-2,20,-2,-8,-3,-38,-3,-69,-3,-94,-3,-126,-3,108,-3,79,-3,61,-3,31,-3,17,-3,-6,-4,-24,-4,-39,-4,-56,-4,-70,-4,-78,-4,-92,-4,-98,-4,-109,-4,-111,-4,-117,-4,-119,-4,-121,-4,-119,-4,-117,-4,-112,-4,-106,-4,-102,-4,-90,-4,-80,-4,-71,-4,-53,-4,-43,-4,-24,-4,-6,-4,11,-3,35,-3,54,-3,79,-3,103,-3,-128,-3,-99,-3,-74,-3,-42,-3,-15,-3,17,-2,46,-2,80,-2,114,-2,-110,-2,-73,-2,-40,-2,-3,-2,34,-1,70,-1,106,-1,-113,-1,-74,-1,-38,-1,-2,-1,34,0,73,0,107,0,-108,0,-75,0,-35,0,-3,0,36,1,66,1,105,1,-121,1,-87,1,-55,1,-24,1,2,2,34,2,59,2,89,2,112,2,-117,2,-95,2,-72,2,-52,2,-31,2,-16,2,6,3,15,3,34,3,44,3,54,3,64,3,72,3,77,3,84,3,85,3,89,3,85,3,89,3,80,3,81,3,69,3,67,3,52,3,47,3,30,3,20,3,4,3,-13,2,-31,2,-48,2,-73,2,-90,2,-116,2,116,2,93,2,63,2,38,2,10,2,-20,1,-48,1,-80,1,-111,1,112,1,79,1,45,1,11,1,-23,0,-60,0,-93,0,124,0,93,0,52,0,20,0,-18,-1,-50,-1,-88,-1,-123,-1,99,-1,60,-1,30,-1,-9,-2,-38,-2,-75,-2,-105,-2,118,-2,87,-2,58,-2,26,-2,2,-2,-26,-3,-53,-3,-78,-3,-104,-3,-124,-3,106,-3,91,-3,64,-3,52,-3,32,-3,18,-3,4,-3,-10,-4,-19,-4,-29,-4,-39,-4,-42,-4,-53,-4,-50,-4,-59,-4,-55,-4,-57,-4,-53,-4,-50,-4,-45,-4,-39,-4,-27,-4,-24,-4,-4,-4,-3,-4,21,-3,29,-3,51,-3,64,-3,89,-3,102,-3,-125,-3,-108,-3,-80,-3,-58,-3,-29,-3,-6,-3,26,-2,49,-2,82,-2,109,-2,-113,-2,-84,-2,-50,-2,-18,-2,16,-1,48,-1,84,-1,116,-1,-103,-1,-69,-1,-36,-1,-1,-1,30,0,70,0,98,0,-118,0,-86,0,-55,0,-16,0,9,1,49,1,75,1,110,1,-119,1,-87,1,-60,1,-33,1,-6,1,18,2,47,2,67,2,93,2,112,2,-122,2,-101,2,-86,2,-66,2,-54,2,-37,2,-25,2,-13,2,-5,2,5,3,13,3,15,3,26,3,21,3,30,3,24,3,27,3,22,3,17,3,14,3,2,3,-1,2,-16,2,-23,2,-38,2,-51,2,-66,2,-84,2,-100,2,-121,2,115,2,97,2,68,2,53,2,19,2,2,2,-31,1,-51,1,-84,1,-108,1,113,1,89,1,53,1,25,1,-9,0,-40,0,-73,0,-105,0,116,0,84,0,51,0,16,0,-14,-1,-47,-1,-84,-1,-110,-1,105,-1,79,-1,43,-1,12,-1,-19,-2,-50,-2,-79,-2,-112,-2,121,-2,85,-2,67,-2,34,-2,14,-2,-14,-3,-35,-3,-59,-3,-81,-3,-100,-3,-121,-3,119,-3,101,-3,84,-3,73,-3,56,-3,48,-3,36,-3,27,-3,20,-3,14,-3,7,-3,7,-3,0,-3,5,-3,0,-3,8,-3,6,-3,14,-3,20,-3,27,-3,36,-3,47,-3,56,-3,72,-3,83,-3,100,-3,117,-3,-122,-3,-102,-3,-84,-3,-60,-3,-42,-3,-13,-3,6,-2,33,-2,61,-2,80,-2,115,-2,-120,-2,-86,-2,-60,-2,-27,-2,0,-1,33,-1,65,-1,93,-1,-126,-1,-99,-1,-63,-1,-34,-1,0,0,27,0,66,0,89,0,-124,0,-105,0,-61,0,-41,0,-2,0,21,1,55,1,81,1,111,1,-117,1,-94,1,-65,1,-45,1,-16,1,4,2,27,2,50,2,67,2,90,2,104,2,124,2,-118,2,-103,2,-90,2,-78,2,-67,2,-60,2,-48,2,-47,2,-36,2,-35,2,-32,2,-28,2,-32,2,-31,2,-34,2,-38,2,-44,2,-49,2,-60,2,-66,2,-79,2,-88,2,-104,2,-114,2,122,2,108,2,91,2,68,2,54,2,28,2,10,2,-16,1,-36,1,-66,1,-82,1,-117,1,120,1,88,1,62,1,33,1,3,1,-25,0,-56,0,-86,0,-116,0,108,0,78,0,48,0,13,0,-10,-1,-47,-1,-74,-1,-106,-1,118,-1,90,-1,59,-1,30,-1,-1,-2,-26,-2,-59,-2,-80,-2,-114,-2,123,-2,90,-2,75,-2,46,-2,25,-2,4,-2,-21,-3,-35,-3,-59,-3,-74,-3,-92,-3,-108,-3,-121,-3,120,-3,109,-3,98,-3,89,-3,80,-3,72,-3,69,-3,62,-3,59,-3,58,-3,55,-3,60,-3,57,-3,64,-3,66,-3,74,-3,79,-3}; }
	private static byte[] data12(){ return new byte[] {89,-3,97,-3,108,-3,121,-3,-124,-3,-108,-3,-93,-3,-77,-3,-59,-3,-40,-3,-21,-3,1,-2,20,-2,44,-2,68,-2,90,-2,115,-2,-116,-2,-92,-2,-61,-2,-39,-2,-6,-2,18,-1,50,-1,76,-1,108,-1,-120,-1,-90,-1,-60,-1,-29,-1,-4,-1,29,0,58,0,86,0,120,0,-113,0,-79,0,-52,0,-25,0,7,1,28,1,62,1,79,1,115,1,-126,1,-95,1,-78,1,-53,1,-33,1,-10,1,9,2,26,2,48,2,57,2,83,2,87,2,110,2,115,2,-127,2,-117,2,-109,2,-102,2,-95,2,-91,2,-87,2,-82,2,-85,2,-81,2,-85,2,-86,2,-91,2,-93,2,-104,2,-107,2,-119,2,-125,2,117,2,107,2,92,2,80,2,63,2,46,2,30,2,10,2,-7,1,-30,1,-49,1,-73,1,-94,1,-118,1,116,1,91,1,64,1,39,1,12,1,-15,0,-41,0,-71,0,-97,0,-128,0,103,0,70,0,46,0,12,0,-10,-1,-43,-1,-69,-1,-99,-1,-128,-1,103,-1,72,-1,46,-1,19,-1,-9,-2,-33,-2,-59,-2,-86,-2,-106,-2,122,-2,103,-2,82,-2,58,-2,41,-2,17,-2,3,-2,-17,-3,-34,-3,-46,-3,-68,-3,-71,-3,-95,-3,-96,-3,-112,-3,-120,-3,-123,-3,118,-3,121,-3,111,-3,111,-3,107,-3,109,-3,106,-3,112,-3,111,-3,118,-3,122,-3,-126,-3,-120,-3,-110,-3,-102,-3,-90,-3,-75,-3,-68,-3,-46,-3,-37,-3,-18,-3,0,-2,16,-2,38,-2,55,-2,79,-2,97,-2,122,-2,-113,-2,-91,-2,-65,-2,-40,-2,-17,-2,13,-1,34,-1,65,-1,89,-1,119,-1,-112,-1,-83,-1,-56,-1,-28,-1,-1,-1,25,0,55,0,79,0,111,0,-123,0,-90,0,-68,0,-40,0,-15,0,12,1,33,1,64,1,80,1,109,1,126,1,-107,1,-85,1,-67,1,-46,1,-29,1,-12,1,8,2,18,2,39,2,45,2,64,2,72,2,83,2,94,2,97,2,108,2,112,2,119,2,119,2,126,2,121,2,127,2,122,2,122,2,117,2,113,2,106,2,101,2,92,2,84,2,73,2,61,2,52,2,34,2,25,2,5,2,-9,1,-26,1,-44,1,-65,1,-80,1,-106,1,-123,1,111,1,87,1,68,1,40,1,20,1,-9,0,-30,0,-60,0,-81,0,-111,0,121,0,94,0,66,0,42,0,11,0,-9,-1,-41,-1,-62,-1,-95,-1,-114,-1,108,-1,90,-1,57,-1,39,-1,8,-1,-11,-2,-38,-2,-60,-2,-81,-2,-107,-2,-121,-2,109,-2,93,-2,73,-2,54,-2,38,-2,21,-2,5,-2,-7,-3,-24,-3,-33,-3,-48,-3,-55,-3,-68,-3,-71,-3,-83,-3,-87,-3,-91,-3,-99,-3,-97,-3,-101,-3,-104,-3,-98,-3,-102,-3,-94,-3,-94,-3,-87,-3,-82,-3,-74,-3,-66,-3,-57,-3,-47,-3,-35,-3,-24,-3,-10,-3,5,-2,20,-2,35,-2,53,-2,69,-2,91,-2,107,-2,-127,-2,-108,-2,-86,-2,-66,-2,-42,-2,-20,-2,4,-1,28,-1,52,-1,78,-1,100,-1,-125,-1,-108,-1,-73,-1,-54,-1,-25,-1,-2,-1,24,0,49,0,78,0,98,0,-127,0,-107,0,-78,0,-58,0,-30,0,-8,0,13,1,41,1,55,1,84,1,98,1,122,1,-118,1,-97,1,-81,1,-62,1,-47,1,-31,1,-18,1,-3,1,8,2,23,2,28,2,44,2,46,2,59,2,60,2,71,2,70,2,78,2,76,2,81,2,77,2,79,2,76,2,72,2,70,2,60,2,59,2,47,2,43,2,30,2,22,2,10,2,-3,1,-15,1,-32,1,-43,1,-62,1,-78,1,-95,1,-113,1,122,1,106,1,83,1,65,1,43,1,19,1,2,1,-29,0,-44,0,-74,0,-96,0,-116,0,106,0,93,0,58,0,40,0,11,0,-10,-1,-36,-1,-60,-1,-84,-1,-112,-1,125,-1,96,-1,76,-1,52,-1,26,-1,9,-1,-19,-2,-35,-2,-60,-2,-78,-2,-97,-2,-116,-2,122,-2,105,-2,85,-2,74,-2,53,-2,46,-2,25,-2,18,-2,2,-2,-5,-3,-16,-3,-26,-3,-31,-3,-39,-3,-46,-3,-46,-3,-57,-3,-53,-3,-57,-3,-60,-3,-54,-3,-58,-3,-53,-3,-48,-3,-46,-3,-38,-3,-33,-3,-25,-3,-17,-3,-6,-3,2,-2,17,-2,25,-2,43,-2,53,-2,70,-2,86,-2,101,-2,119,-2,-118,-2,-102,-2,-79,-2,-63,-2,-44,-2,-19,-2,-2,-2,23,-1,45,-1,65,-1,91,-1,113,-1,-120,-1,-96,-1,-71,-1,-50,-1,-21,-1,-6,-1,26,0,44,0,71,0,94,0,115,0,-112,0,-96,0,-68,0,-48,0,-27,0,-2,0,15,1,36,1,59,1,72,1,96,1,110,1,-128,1,-109,1,-98,1,-76,1,-69,1,-50,1,-41,1,-29,1,-15,1,-11,1,5,2,7,2,16,2,21,2,28,2,29,2,37,2,32,2,40,2,35,2,38,2,32,2,32,2}; }
	private static byte[] data13(){ return new byte[] {26,2,23,2,16,2,8,2,3,2,-9,1,-15,1,-28,1,-39,1,-51,1,-65,1,-78,1,-93,1,-109,1,-124,1,113,1,97,1,77,1,62,1,41,1,22,1,0,1,-20,0,-40,0,-64,0,-83,0,-108,0,126,0,105,0,80,0,58,0,36,0,9,0,-7,-1,-36,-1,-53,-1,-82,-1,-99,-1,-126,-1,111,-1,86,-1,67,-1,45,-1,22,-1,6,-1,-18,-2,-36,-2,-54,-2,-72,-2,-91,-2,-103,-2,-126,-2,120,-2,102,-2,88,-2,77,-2,61,-2,53,-2,39,-2,31,-2,22,-2,13,-2,7,-2,1,-2,-6,-3,-9,-3,-12,-3,-16,-3,-16,-3,-17,-3,-18,-3,-14,-3,-14,-3,-8,-3,-6,-3,0,-2,8,-2,10,-2,25,-2,27,-2,42,-2,49,-2,63,-2,73,-2,88,-2,102,-2,113,-2,-120,-2,-115,-2,-86,-2,-81,-2,-52,-2,-44,-2,-18,-2,-2,-2,16,-1,42,-1,56,-1,82,-1,101,-1,124,-1,-112,-1,-88,-1,-68,-1,-44,-1,-22,-1,-1,-1,19,0,45,0,63,0,89,0,107,0,-123,0,-108,0,-79,0,-67,0,-38,0,-26,0,0,1,15,1,34,1,52,1,67,1,87,1,100,1,117,1,-124,1,-113,1,-95,1,-87,1,-73,1,-62,1,-54,1,-43,1,-35,1,-28,1,-22,1,-16,1,-13,1,-7,1,-4,1,-4,1,-3,1,-1,1,-4,1,-5,1,-6,1,-15,1,-13,1,-23,1,-28,1,-35,1,-43,1,-53,1,-60,1,-74,1,-84,1,-95,1,-111,1,-122,1,118,1,104,1,87,1,73,1,52,1,41,1,17,1,4,1,-18,0,-37,0,-55,0,-78,0,-96,0,-118,0,117,0,98,0,74,0,54,0,33,0,9,0,-8,-1,-31,-1,-51,-1,-75,-1,-92,-1,-119,-1,124,-1,97,-1,81,-1,59,-1,41,-1,20,-1,5,-1,-17,-2,-32,-2,-48,-2,-65,-2,-81,-2,-94,-2,-114,-2,-120,-2,115,-2,111,-2,91,-2,87,-2,72,-2,66,-2,56,-2,49,-2,43,-2,37,-2,32,-2,27,-2,26,-2,21,-2,23,-2,18,-2,23,-2,21,-2,26,-2,27,-2,32,-2,36,-2,43,-2,48,-2,57,-2,64,-2,74,-2,82,-2,95,-2,105,-2,118,-2,-125,-2,-113,-2,-97,-2,-83,-2,-68,-2,-50,-2,-36,-2,-18,-2,-2,-2,17,-1,36,-1,53,-1,74,-1,92,-1,114,-1,-125,-1,-101,-1,-85,-1,-60,-1,-43,-1,-19,-1,-3,-1,20,0,39,0,62,0,80,0,101,0,121,0,-115,0,-96,0,-75,0,-59,0,-38,0,-22,0,-2,0,11,1,33,1,42,1,63,1,74,1,92,1,101,1,119,1,-128,1,-116,1,-104,1,-95,1,-85,1,-78,1,-68,1,-64,1,-55,1,-53,1,-47,1,-44,1,-41,1,-39,1,-40,1,-37,1,-40,1,-42,1,-41,1,-51,1,-48,1,-59,1,-61,1,-69,1,-78,1,-83,1,-96,1,-102,1,-116,1,-124,1,115,1,108,1,90,1,79,1,63,1,47,1,34,1,16,1,0,1,-15,0,-37,0,-49,0,-73,0,-89,0,-107,0,127,0,110,0,90,0,68,0,52,0,29,0,9,0,-6,-1,-32,-1,-45,-1,-70,-1,-88,-1,-105,-1,127,-1,113,-1,91,-1,73,-1,57,-1,38,-1,20,-1,6,-1,-15,-2,-24,-2,-43,-2,-56,-2,-72,-2,-82,-2,-100,-2,-106,-2,-122,-2,124,-2,116,-2,104,-2,97,-2,91,-2,78,-2,80,-2,68,-2,68,-2,62,-2,58,-2,59,-2,56,-2,54,-2,59,-2,53,-2,63,-2,61,-2,67,-2,70,-2,76,-2,81,-2,90,-2,96,-2,105,-2,113,-2,125,-2,-123,-2,-108,-2,-101,-2,-83,-2,-75,-2,-57,-2,-44,-2,-32,-2,-10,-2,-4,-2,22,-1,30,-1,54,-1,66,-1,89,-1,101,-1,127,-1,-119,-1,-91,-1,-80,-1,-56,-1,-40,-1,-19,-1,0,0,17,0,38,0,54,0,77,0,92,0,115,0,-127,0,-106,0,-89,0,-73,0,-52,0,-40,0,-20,0,-7,0,10,1,24,1,37,1,53,1,65,1,78,1,90,1,101,1,113,1,122,1,-124,1,-117,1,-107,1,-102,1,-92,1,-92,1,-83,1,-82,1,-76,1,-75,1,-73,1,-72,1,-74,1,-72,1,-75,1,-77,1,-80,1,-85,1,-89,1,-95,1,-100,1,-108,1,-115,1,-124,1,123,1,113,1,103,1,90,1,82,1,64,1,56,1,41,1,24,1,14,1,-4,0,-18,0,-32,0,-51,0,-67,0,-84,0,-101,0,-119,0,120,0,101,0,82,0,67,0,44,0,30,0,7,0,-7,-1,-26,-1,-46,-1,-61,-1,-84,-1,-98,-1,-117,-1,119,-1,107,-1,84,-1,72,-1,53,-1,37,-1,23,-1,6,-1,-5,-2,-22,-2,-33,-2,-49,-2,-59,-2,-72,-2,-83,-2,-93,-2,-106,-2,-110,-2,-125,-2,-126,-2,116,-2,115,-2,105,-2,105,-2,95,-2,98,-2,87,-2,95,-2,84,-2,91,-2,87,-2}; }
	private static byte[] data14(){ return new byte[] {90,-2,92,-2,95,-2,95,-2,105,-2,105,-2,114,-2,119,-2,123,-2,-119,-2,-116,-2,-103,-2,-94,-2,-88,-2,-68,-2,-66,-2,-46,-2,-37,-2,-24,-2,-8,-2,5,-1,18,-1,37,-1,45,-1,71,-1,77,-1,102,-1,113,-1,-122,-1,-108,-1,-86,-1,-74,-1,-53,-1,-35,-1,-19,-1,1,0,15,0,34,0,53,0,69,0,89,0,101,0,125,0,-121,0,-97,0,-88,0,-67,0,-56,0,-34,0,-28,0,-5,0,0,1,19,1,30,1,42,1,54,1,67,1,74,1,88,1,93,1,106,1,110,1,121,1,124,1,-122,1,-123,1,-111,1,-114,1,-107,1,-106,1,-105,1,-103,1,-104,1,-104,1,-106,1,-108,1,-111,1,-115,1,-120,1,-123,1,124,1,122,1,111,1,104,1,97,1,86,1,77,1,68,1,54,1,44,1,33,1,18,1,8,1,-9,0,-19,0,-36,0,-49,0,-65,0,-81,0,-95,0,-112,0,125,0,114,0,91,0,80,0,58,0,44,0,26,0,8,0,-6,-1,-27,-1,-39,-1,-61,-1,-73,-1,-95,-1,-107,-1,-127,-1,116,-1,98,-1,84,-1,68,-1,52,-1,41,-1,23,-1,13,-1,-1,-2,-14,-2,-25,-2,-37,-2,-50,-2,-57,-2,-72,-2,-74,-2,-89,-2,-95,-2,-101,-2,-111,-2,-112,-2,-122,-2,-123,-2,126,-2,125,-2,122,-2,119,-2,120,-2,118,-2,118,-2,121,-2,120,-2,125,-2,-128,-2,-125,-2,-121,-2,-114,-2,-111,-2,-101,-2,-95,-2,-88,-2,-79,-2,-69,-2,-60,-2,-51,-2,-36,-2,-30,-2,-13,-2,-6,-2,13,-1,21,-1,37,-1,50,-1,63,-1,81,-1,94,-1,108,-1,127,-1,-115,-1,-100,-1,-81,-1,-67,-1,-51,-1,-30,-1,-20,-1,1,0,14,0,33,0,47,0,67,0,78,0,100,0,111,0,-127,0,-113,0,-95,0,-85,0,-64,0,-57,0,-38,0,-28,0,-15,0,-1,0,8,1,23,1,30,1,45,1,50,1,64,1,67,1,82,1,82,1,96,1,96,1,105,1,109,1,111,1,119,1,116,1,124,1,120,1,124,1,124,1,121,1,122,1,120,1,114,1,115,1,108,1,102,1,102,1,90,1,88,1,78,1,70,1,64,1,52,1,44,1,34,1,21,1,13,1,-1,0,-13,0,-24,0,-38,0,-50,0,-65,0,-78,0,-93,0,-107,0,-123,0,118,0,103,0,88,0,72,0,55,0,41,0,22,0,10,0,-8,-1,-22,-1,-39,-1,-55,-1,-70,-1,-86,-1,-100,-1,-118,-1,126,-1,109,-1,95,-1,85,-1,63,-1,58,-1,39,-1,30,-1,19,-1,4,-1,-5,-2,-17,-2,-26,-2,-37,-2,-45,-2,-55,-2,-62,-2,-69,-2,-78,-2,-82,-2,-89,-2,-93,-2,-96,-2,-102,-2,-106,-2,-103,-2,-112,-2,-106,-2,-111,-2,-110,-2,-107,-2,-107,-2,-104,-2,-101,-2,-98,-2,-94,-2,-86,-2,-87,-2,-73,-2,-73,-2,-62,-2,-54,-2,-48,-2,-36,-2,-30,-2,-15,-2,-9,-2,5,-1,16,-1,25,-1,42,-1,50,-1,66,-1,78,-1,91,-1,106,-1,120,-1,-122,-1,-105,-1,-93,-1,-76,-1,-62,-1,-47,-1,-30,-1,-15,-1,-2,-1,15,0,29,0,44,0,63,0,72,0,93,0,103,0,119,0,-121,0,-109,0,-94,0,-81,0,-70,0,-53,0,-45,0,-32,0,-19,0,-11,0,2,1,13,1,19,1,32,1,38,1,47,1,55,1,61,1,67,1,74,1,79,1,81,1,88,1,88,1,93,1,95,1,95,1,96,1,96,1,96,1,94,1,93,1,89,1,87,1,82,1,79,1,73,1,69,1,61,1,55,1,47,1,41,1,29,1,26,1,9,1,6,1,-11,0,-16,0,-32,0,-39,0,-55,0,-64,0,-78,0,-93,0,-102,0,-120,0,126,0,108,0,97,0,80,0,68,0,50,0,39,0,21,0,8,0,-6,-1,-23,-1,-34,-1,-52,-1,-64,-1,-81,-1,-93,-1,-108,-1,-123,-1,122,-1,105,-1,96,-1,80,-1,69,-1,57,-1,44,-1,38,-1,19,-1,17,-1,0,-1,-4,-2,-18,-2,-22,-2,-34,-2,-39,-2,-46,-2,-54,-2,-57,-2,-66,-2,-67,-2,-73,-2,-74,-2,-80,-2,-79,-2,-84,-2,-83,-2,-82,-2,-85,-2,-80,-2,-83,-2,-77,-2,-77,-2,-72,-2,-67,-2,-66,-2,-57,-2,-55,-2,-46,-2,-40,-2,-33,-2,-25,-2,-16,-2,-8,-2,2,-1,12,-1,21,-1,34,-1,42,-1,56,-1,66,-1,78,-1,91,-1,103,-1,117,-1,-126,-1,-114,-1,-98,-1,-86,-1,-70,-1,-58,-1,-43,-1,-28,-1,-15,-1,0,0,12,0,28,0,42,0,56,0,70,0,83,0,97,0,111,0,125,0,-119,0,-107,0,-92,0,-84,0,-66,0,-64,0,-42,0,-43,0,-21,0,-21,0,-6,0,1,1,10,1,18,1,25,1,34,1,36,1,47,1,48,1,55,1,60,1,60,1,66,1,68,1,67,1,74,1}; }
	private static byte[] data15(){ return new byte[] {68,1,74,1,68,1,71,1,66,1,66,1,62,1,59,1,54,1,50,1,45,1,39,1,32,1,28,1,16,1,13,1,0,1,-4,0,-18,0,-24,0,-36,0,-46,0,-57,0,-67,0,-79,0,-91,0,-102,0,-116,0,-127,0,114,0,103,0,87,0,78,0,59,0,51,0,32,0,22,0,7,0,-7,-1,-19,-1,-33,-1,-48,-1,-60,-1,-73,-1,-90,-1,-97,-1,-116,-1,-125,-1,118,-1,105,-1,94,-1,82,-1,70,-1,61,-1,51,-1,39,-1,32,-1,18,-1,16,-1,0,-1,0,-1,-16,-2,-15,-2,-28,-2,-27,-2,-40,-2,-38,-2,-48,-2,-46,-2,-55,-2,-51,-2,-61,-2,-54,-2,-62,-2,-58,-2,-59,-2,-59,-2,-55,-2,-57,-2,-49,-2,-52,-2,-42,-2,-44,-2,-35,-2,-32,-2,-24,-2,-21,-2,-10,-2,-6,-2,2,-1,13,-1,19,-1,29,-1,39,-1,49,-1,56,-1,75,-1,74,-1,94,-1,102,-1,113,-1,-127,-1,-119,-1,-104,-1,-92,-1,-80,-1,-65,-1,-54,-1,-38,-1,-29,-1,-11,-1,-3,-1,14,0,25,0,38,0,53,0,64,0,78,0,91,0,102,0,116,0,127,0,-117,0,-105,0,-93,0,-85,0,-70,0,-66,0,-50,0,-45,0,-33,0,-25,0,-17,0,-10,0,0,1,4,1,13,1,17,1,23,1,28,1,33,1,35,1,40,1,42,1,45,1,44,1,50,1,45,1,50,1,46,1,46,1,45,1,42,1,40,1,35,1,33,1,28,1,24,1,17,1,12,1,6,1,-1,0,-7,0,-18,0,-24,0,-32,0,-44,0,-47,0,-65,0,-69,0,-81,0,-92,0,-102,0,-114,0,-125,0,118,0,109,0,92,0,84,0,70,0,57,0,45,0,32,0,19,0,7,0,-7,-1,-17,-1,-31,-1,-44,-1,-56,-1,-70,-1,-80,-1,-93,-1,-105,-1,-118,-1,-127,-1,114,-1,108,-1,92,-1,86,-1,74,-1,64,-1,56,-1,47,-1,36,-1,33,-1,18,-1,16,-1,8,-1,-1,-2,-2,-2,-14,-2,-11,-2,-25,-2,-19,-2,-30,-2,-29,-2,-32,-2,-36,-2,-33,-2,-39,-2,-35,-2,-38,-2,-34,-2,-36,-2,-31,-2,-32,-2,-25,-2,-26,-2,-18,-2,-17,-2,-11,-2,-4,-2,-1,-2,8,-1,13,-1,22,-1,28,-1,37,-1,44,-1,56,-1,61,-1,76,-1,80,-1,94,-1,102,-1,113,-1,125,-1,-121,-1,-108,-1,-97,-1,-86,-1,-73,-1,-62,-1,-49,-1,-37,-1,-24,-1,-13,-1,-1,-1,13,0,21,0,39,0,45,0,63,0,71,0,84,0,96,0,106,0,120,0,-128,0,-115,0,-107,0,-94,0,-86,0,-77,0,-66,0,-60,0,-49,0,-41,0,-36,0,-24,0,-22,0,-11,0,-10,0,0,1,2,1,8,1,13,1,13,1,21,1,18,1,24,1,26,1,23,1,28,1,25,1,26,1,25,1,22,1,22,1,17,1,18,1,8,1,11,1,2,1,-1,0,-7,0,-13,0,-19,0,-26,0,-33,0,-41,0,-49,0,-57,0,-65,0,-77,0,-81,0,-96,0,-102,0,-114,0,-124,0,122,0,110,0,100,0,87,0,78,0,63,0,55,0,41,0,29,0,20,0,4,0,-4,-1,-17,-1,-30,-1,-40,-1,-52,-1,-64,-1,-74,-1,-88,-1,-97,-1,-110,-1,-117,-1,124,-1,119,-1,103,-1,98,-1,87,-1,79,-1,70,-1,61,-1,54,-1,44,-1,41,-1,29,-1,28,-1,17,-1,15,-1,8,-1,3,-1,1,-1,-4,-2,-7,-2,-10,-2,-11,-2,-15,-2,-13,-2,-18,-2,-14,-2,-17,-2,-15,-2,-13,-2,-12,-2,-11,-2,-5,-2,-6,-2,1,-1,4,-1,7,-1,14,-1,20,-1,22,-1,34,-1,35,-1,47,-1,51,-1,62,-1,66,-1,79,-1,85,-1,95,-1,105,-1,112,-1,125,-1,-123,-1,-112,-1,-99,-1,-93,-1,-77,-1,-71,-1,-55,-1,-46,-1,-34,-1,-24,-1,-11,-1,0,0,9,0,24,0,31,0,47,0,55,0,67,0,78,0,89,0,99,0,110,0,120,0,-126,0,-115,0,-109,0,-96,0,-92,0,-78,0,-73,0,-65,0,-56,0,-52,0,-41,0,-37,0,-31,0,-24,0,-22,0,-13,0,-13,0,-5,0,-6,0,-1,0,1,1,3,1,6,1,3,1,8,1,4,1,8,1,2,1,6,1,-3,0,3,1,-6,0,-7,0,-10,0,-17,0,-18,0,-25,0,-30,0,-37,0,-41,0,-51,0,-54,0,-65,0,-70,0,-81,0,-86,0,-99,0,-102,0,-116,0,-123,0,123,0,111,0,105,0,90,0,83,0,71,0,59,0,51,0,38,0,28,0,16,0,7,0,-7,-1,-14,-1,-28,-1,-36,-1,-50,-1,-58,-1,-71,-1,-80,-1,-91,-1,-100,-1,-112,-1,-119,-1,124,-1,118,-1,107,-1,101,-1,89,-1,85,-1,74,-1,68,-1,61,-1,54,-1,47,-1,43,-1,35,-1,31,-1,26,-1,23,-1,16,-1,18,-1,9,-1,11,-1,6,-1}; }
	private static byte[] data16(){ return new byte[] {6,-1,5,-1,3,-1,4,-1,4,-1,3,-1,7,-1,6,-1,10,-1,12,-1,13,-1,20,-1,20,-1,27,-1,31,-1,34,-1,43,-1,46,-1,54,-1,59,-1,69,-1,72,-1,83,-1,89,-1,99,-1,106,-1,116,-1,121,-1,-120,-1,-116,-1,-102,-1,-95,-1,-83,-1,-74,-1,-63,-1,-54,-1,-42,-1,-32,-1,-21,-1,-11,-1,0,0,9,0,21,0,31,0,41,0,53,0,61,0,74,0,81,0,94,0,101,0,112,0,120,0,-126,0,-116,0,-111,0,-99,0,-97,0,-81,0,-82,0,-68,0,-67,0,-57,0,-52,0,-47,0,-42,0,-36,0,-33,0,-29,0,-24,0,-23,0,-19,0,-17,0,-16,0,-14,0,-12,0,-14,0,-12,0,-13,0,-14,0,-15,0,-18,0,-18,0,-24,0,-22,0,-31,0,-31,0,-37,0,-42,0,-45,0,-53,0,-56,0,-66,0,-68,0,-80,0,-82,0,-94,0,-97,0,-112,0,-111,0,127,0,127,0,112,0,105,0,95,0,85,0,78,0,63,0,60,0,42,0,39,0,23,0,18,0,3,0,-3,-1,-16,-1,-23,-1,-37,-1,-44,-1,-55,-1,-65,-1,-75,-1,-83,-1,-96,-1,-101,-1,-112,-1,-122,-1,-127,-1,115,-1,113,-1,101,-1,98,-1,85,-1,85,-1,70,-1,72,-1,61,-1,56,-1,54,-1,44,-1,46,-1,36,-1,36,-1,32,-1,29,-1,28,-1,23,-1,26,-1,19,-1,25,-1,20,-1,21,-1,24,-1,21,-1,28,-1,24,-1,31,-1,30,-1,38,-1,35,-1,45,-1,45,-1,52,-1,58,-1,59,-1,70,-1,73,-1,81,-1,87,-1,94,-1,101,-1,111,-1,115,-1,-128,-1,-126,-1,-112,-1,-106,-1,-98,-1,-83,-1,-83,-1,-64,-1,-62,-1,-48,-1,-38,-1,-32,-1,-18,-1,-11,-1,0,0,9,0,19,0,29,0,38,0,49,0,57,0,68,0,76,0,86,0,95,0,103,0,112,0,121,0,-127,0,-120,0,-112,0,-106,0,-96,0,-92,0,-84,0,-77,0,-74,0,-66,0,-61,0,-59,0,-49,0,-51,0,-44,0,-41,0,-40,0,-35,0,-35,0,-32,0,-32,0,-30,0,-30,0,-31,0,-29,0,-32,0,-33,0,-33,0,-38,0,-36,0,-45,0,-41,0,-52,0,-49,0,-58,0,-61,0,-67,0,-71,0,-78,0,-83,0,-91,0,-96,0,-104,0,-111,0,-118,0,-127,0,125,0,111,0,109,0,94,0,91,0,78,0,71,0,62,0,51,0,44,0,32,0,24,0,15,0,3,0,-1,-1,-17,-1,-21,-1,-34,-1,-40,-1,-53,-1,-58,-1,-73,-1,-74,-1,-91,-1,-92,-1,-106,-1,-112,-1,-119,-1,127,-1,121,-1,114,-1,108,-1,98,-1,96,-1,86,-1,81,-1,79,-1,69,-1,67,-1,62,-1,57,-1,55,-1,50,-1,49,-1,44,-1,46,-1,37,-1,44,-1,36,-1,41,-1,36,-1,40,-1,38,-1,40,-1,42,-1,42,-1,46,-1,48,-1,50,-1,55,-1,56,-1,63,-1,65,-1,72,-1,74,-1,83,-1,85,-1,95,-1,98,-1,106,-1,113,-1,119,-1,-128,-1,-123,-1,-112,-1,-108,-1,-97,-1,-89,-1,-83,-1,-69,-1,-66,-1,-54,-1,-46,-1,-36,-1,-28,-1,-18,-1,-10,-1,1,0,7,0,18,0,27,0,35,0,47,0,51,0,65,0,68,0,83,0,86,0,97,0,104,0,112,0,120,0,125,0,-120,0,-119,0,-105,0,-105,0,-96,0,-91,0,-85,0,-81,0,-75,0,-71,0,-67,0,-63,0,-60,0,-57,0,-54,0,-51,0,-52,0,-47,0,-48,0,-46,0,-46,0,-47,0,-45,0,-49,0,-47,0,-52,0,-49,0,-56,0,-57,0,-58,0,-66,0,-63,0,-74,0,-73,0,-82,0,-82,0,-93,0,-93,0,-105,0,-106,0,-116,0,-120,0,-128,0,120,0,114,0,106,0,97,0,93,0,79,0,77,0,62,0,59,0,49,0,37,0,35,0,18,0,15,0,5,0,-4,-1,-14,-1,-19,-1,-33,-1,-37,-1,-47,-1,-58,-1,-63,-1,-73,-1,-81,-1,-88,-1,-97,-1,-104,-1,-112,-1,-118,-1,-127,-1,126,-1,116,-1,113,-1,103,-1,101,-1,93,-1,90,-1,85,-1,77,-1,80,-1,68,-1,71,-1,64,-1,63,-1,61,-1,58,-1,57,-1,55,-1,55,-1,54,-1,53,-1,55,-1,54,-1,55,-1,58,-1,56,-1,64,-1,59,-1,69,-1,64,-1,76,-1,72,-1,82,-1,83,-1,88,-1,95,-1,98,-1,105,-1,110,-1,116,-1,125,-1,127,-1,-117,-1,-116,-1,-104,-1,-99,-1,-90,-1,-84,-1,-75,-1,-67,-1,-59,-1,-50,-1,-44,-1,-32,-1,-27,-1,-17,-1,-7,-1,-2,-1,8,0,17,0,23,0,36,0,39,0,52,0,56,0,68,0,72,0,83,0,89,0,97,0,104,0,110,0,119,0,122,0,-124,0,-120,0,-114,0,-107,0,-103,0,-99,0,-91,0,-90,0,-82,0,-82,0,-76,0,-75,0,-70,0,-70,0}; }
	private static byte[] data17(){ return new byte[] {-64,0,-67,0,-62,0,-63,0,-62,0,-59,0,-63,0,-61,0,-61,0,-65,0,-63,0,-67,0,-69,0,-71,0,-73,0,-78,0,-78,0,-86,0,-87,0,-93,0,-97,0,-102,0,-107,0,-113,0,-119,0,-124,0,124,0,121,0,110,0,108,0,96,0,93,0,83,0,77,0,69,0,60,0,54,0,42,0,41,0,25,0,23,0,11,0,4,0,-2,-1,-14,-1,-17,-1,-32,-1,-31,-1,-48,-1,-50,-1,-60,-1,-69,-1,-72,-1,-86,-1,-86,-1,-100,-1,-102,-1,-110,-1,-118,-1,-121,-1,127,-1,121,-1,117,-1,110,-1,106,-1,101,-1,97,-1,91,-1,91,-1,82,-1,85,-1,77,-1,77,-1,75,-1,71,-1,73,-1,68,-1,70,-1,67,-1,69,-1,69,-1,67,-1,71,-1,71,-1,71,-1,76,-1,76,-1,78,-1,84,-1,82,-1,90,-1,93,-1,95,-1,100,-1,107,-1,108,-1,117,-1,121,-1,124,-1,-121,-1,-119,-1,-111,-1,-104,-1,-100,-1,-89,-1,-88,-1,-73,-1,-73,-1,-60,-1,-56,-1,-48,-1,-38,-1,-32,-1,-24,-1,-15,-1,-9,-1,0,0,7,0,15,0,25,0,28,0,42,0,43,0,56,0,61,0,68,0,77,0,81,0,93,0,93,0,106,0,108,0,114,0,123,0,126,0,-124,0,-117,0,-116,0,-107,0,-105,0,-100,0,-96,0,-94,0,-89,0,-87,0,-84,0,-81,0,-82,0,-76,0,-80,0,-73,0,-78,0,-73,0,-76,0,-75,0,-76,0,-78,0,-77,0,-81,0,-81,0,-85,0,-86,0,-91,0,-90,0,-100,0,-95,0,-110,0,-103,0,-117,0,-115,0,-125,0,-128,0,122,0,117,0,109,0,106,0,96,0,92,0,85,0,78,0,71,0,64,0,56,0,48,0,43,0,33,0,28,0,19,0,10,0,6,0,-6,-1,-9,-1,-19,-1,-27,-1,-31,-1,-44,-1,-45,-1,-58,-1,-62,-1,-69,-1,-79,-1,-79,-1,-94,-1,-94,-1,-102,-1,-111,-1,-109,-1,-124,-1,-122,-1,125,-1,120,-1,120,-1,108,-1,111,-1,102,-1,101,-1,98,-1,94,-1,90,-1,92,-1,85,-1,87,-1,84,-1,81,-1,86,-1,78,-1,85,-1,79,-1,82,-1,86,-1,80,-1,89,-1,86,-1,88,-1,95,-1,89,-1,102,-1,97,-1,106,-1,106,-1,112,-1,116,-1,120,-1,127,-1,-127,-1,-120,-1,-115,-1,-109,-1,-104,-1,-95,-1,-94,-1,-83,-1,-79,-1,-73,-1,-62,-1,-61,-1,-48,-1,-46,-1,-35,-1,-31,-1,-21,-1,-14,-1,-9,-1,1,0,5,0,16,0,20,0,30,0,35,0,43,0,50,0,58,0,61,0,74,0,74,0,85,0,90,0,94,0,103,0,106,0,114,0,116,0,125,0,125,0,-121,0,-121,0,-114,0,-112,0,-108,0,-104,0,-102,0,-99,0,-95,0,-97,0,-90,0,-93,0,-89,0,-89,0,-88,0,-88,0,-88,0,-89,0,-88,0,-89,0,-92,0,-92,0,-95,0,-95,0,-101,0,-98,0,-109,0,-102,0,-116,0,-112,0,-120,0,-124,0,-126,0,123,0,118,0,113,0,109,0,101,0,99,0,89,0,85,0,80,0,72,0,65,0,60,0,52,0,45,0,41,0,29,0,27,0,17,0,10,0,4,0,-3,-1,-10,-1,-17,-1,-25,-1,-31,-1,-38,-1,-44,-1,-52,-1,-58,-1,-66,-1,-70,-1,-78,-1,-82,-1,-91,-1,-94,-1,-101,-1,-105,-1,-112,-1,-116,-1,-119,-1,-128,-1,-126,-1,119,-1,121,-1,113,-1,113,-1,107,-1,108,-1,102,-1,102,-1,99,-1,97,-1,97,-1,96,-1,94,-1,94,-1,94,-1,94,-1,95,-1,96,-1,95,-1,99,-1,98,-1,102,-1,104,-1,103,-1,113,-1,106,-1,120,-1,113,-1,126,-1,123,-1,-123,-1,-124,-1,-115,-1,-113,-1,-105,-1,-103,-1,-95,-1,-91,-1,-84,-1,-80,-1,-71,-1,-69,-1,-58,-1,-56,-1,-45,-1,-42,-1,-33,-1,-28,-1,-20,-1,-14,-1,-7,-1,1,0,4,0,16,0,18,0,27,0,35,0,37,0,49,0,51,0,61,0,64,0,72,0,78,0,83,0,89,0,94,0,98,0,107,0,108,0,115,0,117,0,124,0,127,0,-126,0,-121,0,-119,0,-115,0,-113,0,-109,0,-109,0,-104,0,-107,0,-100,0,-104,0,-99,0,-101,0,-99,0,-101,0,-99,0,-103,0,-99,0,-104,0,-103,0,-108,0,-105,0,-114,0,-107,0,-121,0,-114,0,-123,0,-126,0,-127,0,122,0,119,0,117,0,106,0,109,0,97,0,98,0,88,0,86,0,78,0,73,0,68,0,60,0,56,0,48,0,43,0,36,0,28,0,25,0,15,0,10,0,4,0,-3,-1,-10,-1,-15,-1,-23,-1,-29,-1,-35,-1,-41,-1,-50,-1,-51,-1,-63,-1,-64,-1,-72,-1,-78,-1,-84,-1,-86,-1,-97,-1,-93,-1,-108,-1,-105,-1,-112,-1,-118,-1,-119,-1,-124,-1,126,-1,-127,-1,118,-1,122,-1,115,-1}; }
	private static byte[] data18(){ return new byte[] {115,-1,112,-1,111,-1,108,-1,109,-1,105,-1,109,-1,103,-1,108,-1,103,-1,108,-1,106,-1,108,-1,109,-1,111,-1,112,-1,114,-1,116,-1,120,-1,120,-1,127,-1,126,-1,-123,-1,-122,-1,-116,-1,-113,-1,-108,-1,-105,-1,-97,-1,-97,-1,-85,-1,-88,-1,-76,-1,-75,-1,-68,-1,-60,-1,-57,-1,-49,-1,-45,-1,-38,-1,-31,-1,-25,-1,-19,-1,-13,-1,-6,-1,-1,-1,6,0,13,0,17,0,27,0,28,0,41,0,38,0,55,0,50,0,64,0,66,0,70,0,81,0,78,0,93,0,87,0,101,0,99,0,106,0,113,0,111,0,119,0,122,0,122,0,-124,0,127,0,-121,0,-122,0,-117,0,-117,0,-116,0,-111,0,-116,0,-109,0,-113,0,-112,0,-108,0,-114,0,-110,0,-114,0,-113,0,-115,0,-117,0,-118,0,-121,0,-121,0,-127,0,-127,0,124,0,123,0,118,0,114,0,112,0,104,0,105,0,95,0,96,0,86,0,86,0,77,0,74,0,67,0,63,0,56,0,53,0,43,0,40,0,33,0,29,0,19,0,18,0,5,0,7,0,-5,-1,-7,-1,-16,-1,-20,-1,-28,-1,-32,-1,-39,-1,-44,-1,-50,-1,-57,-1,-60,-1,-69,-1,-69,-1,-80,-1,-80,-1,-88,-1,-90,-1,-97,-1,-99,-1,-106,-1,-106,-1,-113,-1,-114,-1,-120,-1,-121,-1,-125,-1,-127,-1,127,-1,124,-1,123,-1,120,-1,120,-1,118,-1,118,-1,116,-1,118,-1,114,-1,118,-1,117,-1,116,-1,120,-1,117,-1,123,-1,121,-1,126,-1,125,-1,-128,-1,-123,-1,-124,-1,-116,-1,-119,-1,-110,-1,-108,-1,-107,-1,-98,-1,-99,-1,-89,-1,-90,-1,-80,-1,-82,-1,-69,-1,-70,-1,-63,-1,-57,-1,-51,-1,-48,-1,-39,-1,-36,-1,-30,-1,-21,-1,-21,-1,-8,-1,-9,-1,2,0,4,0,12,0,16,0,25,0,26,0,37,0,38,0,48,0,48,0,60,0,58,0,69,0,72,0,75,0,83,0,85,0,90,0,95,0,98,0,101,0,109,0,106,0,116,0,114,0,119,0,122,0,123,0,127,0,126,0,-125,0,-126,0,-123,0,-123,0,-123,0,-120,0,-123,0,-120,0,-122,0,-123,0,-121,0,-126,0,-124,0,-126,0,127,0,127,0,122,0,123,0,118,0,117,0,113,0,108,0,109,0,100,0,102,0,92,0,93,0,85,0,82,0,78,0,73,0,68,0,63,0,58,0,53,0,46,0,44,0,34,0,34,0,23,0,22,0,12,0,10,0,2,0,-1,-1,-10,-1,-12,-1,-21,-1,-23,-1,-33,-1,-33,-1,-44,-1,-45,-1,-52,-1,-59,-1,-59,-1,-69,-1,-70,-1,-78,-1,-78,-1,-87,-1,-87,-1,-94,-1,-96,-1,-101,-1,-102,-1,-110,-1,-107,-1,-116,-1,-113,-1,-120,-1,-119,-1,-123,-1,-124,-1,-125,-1,-128,-1,-126,-1,126,-1,127,-1,126,-1,127,-1,126,-1,126,-1,-127,-1,126,-1,-125,-1,-126,-1,-125,-1,-121,-1,-122,-1,-116,-1,-118,-1,-111,-1,-113,-1,-105,-1,-106,-1,-100,-1,-97,-1,-95,-1,-87,-1,-88,-1,-80,-1,-76,-1,-75,-1,-65,-1,-66,-1,-56,-1,-55,-1,-46,-1,-45,-1,-37,-1,-33,-1,-27,-1,-21,-1,-18,-1,-9,-1,-8,-1,2,0,3,0,12,0,16,0,20,0,29,0,28,0,42,0,38,0,52,0,49,0,59,0,61,0,67,0,72,0,75,0,79,0,84,0,87,0,92,0,95,0,98,0,102,0,105,0,106,0,113,0,109,0,119,0,113,0,122,0,118,0,123,0,121,0,125,0,123,0,126,0,125,0,125,0,124,0,125,0,123,0,124,0,121,0,119,0,121,0,115,0,116,0,113,0,109,0,109,0,105,0,101,0,99,0,97,0,88,0,94,0,78,0,86,0,72,0,74,0,68,0,61,0,62,0,50,0,53,0,40,0,42,0,32,0,30,0,22,0,21,0,10,0,12,0,-1,-1,0,0,-9,-1,-12,-1,-18,-1,-22,-1,-30,-1,-33,-1,-38,-1,-44,-1,-47,-1,-54,-1,-57,-1,-62,-1,-67,-1,-70,-1,-75,-1,-79,-1,-82,-1,-87,-1,-89,-1,-94,-1,-96,-1,-99,-1,-104,-1,-102,-1,-111,-1,-107,-1,-113,-1,-113,-1,-115,-1,-116,-1,-120,-1,-115,-1,-123,-1,-117,-1,-123,-1,-119,-1,-121,-1,-120,-1,-118,-1,-122,-1,-114,-1,-120,-1,-113,-1,-114,-1,-112,-1,-110,-1,-107,-1,-105,-1,-104,-1,-97,-1,-100,-1,-91,-1,-92,-1,-86,-1,-83,-1,-79,-1,-76,-1,-71,-1,-67,-1,-64,-1,-58,-1,-55,-1,-48,-1,-46,-1,-40,-1,-35,-1,-31,-1,-24,-1,-21,-1,-16,-1,-9,-1,-6,-1,0,0,5,0,9,0,16,0,19,0,25,0,29,0,35,0,40,0,44,0,48,0,53,0,59,0,60,0,69,0,67,0,76,0,77,0,81,0,85,0,88,0,92,0,94,0,97,0,100,0,103,0}; }
	private static byte[] data19(){ return new byte[] {103,0,109,0,106,0,112,0,111,0,114,0,112,0,117,0,113,0,118,0,115,0,117,0,115,0,116,0,115,0,113,0,115,0,109,0,113,0,106,0,109,0,103,0,104,0,99,0,98,0,94,0,92,0,90,0,83,0,84,0,76,0,77,0,69,0,68,0,62,0,60,0,53,0,52,0,42,0,44,0,35,0,32,0,26,0,23,0,16,0,13,0,7,0,2,0,0,0,-10,-1,-9,-1,-19,-1,-20,-1,-27,-1,-30,-1,-38,-1,-37,-1,-48,-1,-46,-1,-56,-1,-56,-1,-64,-1,-64,-1,-69,-1,-74,-1,-76,-1,-80,-1,-86,-1,-82,-1,-94,-1,-89,-1,-97,-1,-97,-1,-99,-1,-103,-1,-104,-1,-103,-1,-111,-1,-103,-1,-114,-1,-108,-1,-111,-1,-113,-1,-110,-1,-113,-1,-112,-1,-110,-1,-113,-1,-109,-1,-110,-1,-109,-1,-105,-1,-107,-1,-103,-1,-102,-1,-102,-1,-95,-1,-97,-1,-92,-1,-90,-1,-86,-1,-85,-1,-80,-1,-77,-1,-75,-1,-68,-1,-67,-1,-63,-1,-58,-1,-54,-1,-53,-1,-42,-1,-46,-1,-33,-1,-36,-1,-26,-1,-25,-1,-18,-1,-15,-1,-8,-1,-6,-1,1,0,2,0,12,0,11,0,22,0,19,0,30,0,31,0,37,0,42,0,43,0,51,0,53,0,56,0,66,0,59,0,74,0,68,0,78,0,77,0,84,0,83,0,89,0,89,0,93,0,96,0,96,0,101,0,98,0,106,0,100,0,108,0,104,0,107,0,108,0,107,0,108,0,107,0,109,0,105,0,110,0,102,0,109,0,99,0,107,0,97,0,102,0,97,0,93,0,95,0,90,0,87,0,87,0,80,0,81,0,75,0,73,0,69,0,66,0,62,0,58,0,55,0,50,0,48,0,40,0,39,0,33,0,30,0,25,0,21,0,14,0,13,0,6,0,2,0,-1,-1,-7,-1,-11,-1,-15,-1,-21,-1,-25,-1,-27,-1,-35,-1,-35,-1,-44,-1,-43,-1,-53,-1,-51,-1,-58,-1,-61,-1,-64,-1,-69,-1,-71,-1,-73,-1,-79,-1,-79,-1,-85,-1,-84,-1,-89,-1,-90,-1,-93,-1,-95,-1,-95,-1,-100,-1,-97,-1,-103,-1,-99,-1,-104,-1,-103,-1,-102,-1,-107,-1,-100,-1,-108,-1,-100,-1,-105,-1,-101,-1,-103,-1,-100,-1,-99,-1,-98,-1,-97,-1,-94,-1,-93,-1,-91,-1,-87,-1,-89,-1,-80,-1,-83,-1,-77,-1,-75,-1,-72,-1,-68,-1,-65,-1,-62,-1,-57,-1,-56,-1,-49,-1,-48,-1,-42,-1,-38,-1,-36,-1,-29,-1,-27,-1,-22,-1,-15,-1,-17,-1,-5,-1,-8,-1,3,0,1,0,11,0,11,0,18,0,22,0,24,0,31,0,34,0,37,0,44,0,44,0,50,0,54,0,57,0,60,0,64,0,67,0,69,0,76,0,73,0,82,0,78,0,88,0,82,0,92,0,88,0,92,0,95,0,94,0,97,0,96,0,100,0,97,0,102,0,98,0,101,0,99,0,102,0,98,0,100,0,97,0,98,0,97,0,94,0,95,0,90,0,92,0,89,0,84,0,86,0,81,0,79,0,78,0,71,0,72,0,67,0,65,0,61,0,57,0,54,0,52,0,46,0,43,0,40,0,34,0,32,0,28,0,21,0,21,0,14,0,11,0,5,0,4,0,-5,-1,-1,-1,-15,-1,-11,-1,-22,-1,-20,-1,-28,-1,-30,-1,-35,-1,-39,-1,-42,-1,-46,-1,-50,-1,-52,-1,-58,-1,-58,-1,-66,-1,-63,-1,-71,-1,-71,-1,-74,-1,-79,-1,-79,-1,-81,-1,-86,-1,-84,-1,-89,-1,-89,-1,-92,-1,-91,-1,-95,-1,-92,-1,-97,-1,-94,-1,-99,-1,-94,-1,-98,-1,-95,-1,-97,-1,-96,-1,-95,-1,-95,-1,-92,-1,-92,-1,-93,-1,-87,-1,-91,-1,-84,-1,-83,-1,-85,-1,-77,-1,-80,-1,-74,-1,-71,-1,-72,-1,-64,-1,-66,-1,-58,-1,-59,-1,-52,-1,-53,-1,-45,-1,-45,-1,-38,-1,-37,-1,-31,-1,-30,-1,-22,-1,-23,-1,-14,-1,-13,-1,-9,-1,-2,-1,-3,-1,6,0,7,0,12,0,15,0,22,0,21,0,31,0,29,0,36,0,39,0,43,0,46,0,49,0,55,0,53,0,62,0,61,0,65,0,69,0,69,0,75,0,74,0,80,0,77,0,85,0,82,0,86,0,86,0,90,0,87,0,94,0,87,0,96,0,89,0,95,0,92,0,93,0,93,0,94,0,89,0,95,0,86,0,94,0,84,0,91,0,82,0,86,0,82,0,79,0,80,0,73,0,76,0,70,0,69,0,64,0,65,0,57,0,60,0,51,0,51,0,48,0,43,0,39,0,38,0,31,0,31,0,25,0,20,0,19,0,12,0,12,0,3,0,5,0,-4,-1,-3,-1,-12,-1,-13,-1,-16,-1,-22,-1,-25,-1,-27,-1,-35,-1,-32,-1,-43,-1,-41,-1,-47,-1,-49,-1,-52,-1,-57,-1,-58,-1,-61,-1,-65,-1,-65,-1,-72,-1,-69,-1,-76,-1}; }
	private static byte[] data20(){ return new byte[] {-75,-1,-78,-1,-81,-1,-80,-1,-84,-1,-84,-1,-86,-1,-86,-1,-89,-1,-86,-1,-91,-1,-88,-1,-91,-1,-88,-1,-90,-1,-90,-1,-88,-1,-90,-1,-86,-1,-87,-1,-86,-1,-84,-1,-84,-1,-81,-1,-81,-1,-76,-1,-80,-1,-70,-1,-76,-1,-67,-1,-67,-1,-66,-1,-61,-1,-59,-1,-58,-1,-49,-1,-55,-1,-42,-1,-48,-1,-37,-1,-39,-1,-33,-1,-29,-1,-26,-1,-24,-1,-16,-1,-19,-1,-8,-1,-9,-1,-3,-1,-1,-1,4,0,7,0,11,0,16,0,17,0,23,0,25,0,30,0,32,0,38,0,38,0,43,0,47,0,48,0,54,0,53,0,59,0,60,0,63,0,67,0,66,0,72,0,71,0,76,0,74,0,80,0,78,0,81,0,83,0,82,0,84,0,86,0,84,0,87,0,86,0,85,0,89,0,83,0,89,0,84,0,85,0,84,0,83,0,81,0,83,0,77,0,80,0,75,0,75,0,72,0,72,0,65,0,70,0,59,0,65,0,56,0,56,0,52,0,50,0,47,0,44,0,40,0,37,0,34,0,30,0,28,0,22,0,22,0,13,0,17,0,4,0,11,0,-3,-1,2,0,-8,-1,-7,-1,-13,-1,-16,-1,-19,-1,-24,-1,-27,-1,-28,-1,-35,-1,-34,-1,-43,-1,-40,-1,-49,-1,-46,-1,-53,-1,-53,-1,-59,-1,-57,-1,-66,-1,-60,-1,-70,-1,-66,-1,-72,-1,-72,-1,-75,-1,-75,-1,-78,-1,-77,-1,-81,-1,-79,-1,-83,-1,-81,-1,-83,-1,-83,-1,-84,-1,-81,-1,-86,-1,-81,-1,-84,-1,-82,-1,-80,-1,-81,-1,-81,-1,-76,-1,-81,-1,-72,-1,-77,-1,-71,-1,-72,-1,-68,-1,-68,-1,-63,-1,-64,-1,-59,-1,-58,-1,-54,-1,-52,-1,-50,-1,-46,-1,-44,-1,-40,-1,-37,-1,-36,-1,-29,-1,-29,-1,-23,-1,-22,-1,-17,-1,-15,-1,-9,-1,-8,-1,-3,-1,0,0,3,0,6,0,11,0,14,0,16,0,22,0,23,0,28,0,30,0,33,0,37,0,40,0,43,0,46,0,48,0,50,0,55,0,55,0,60,0,59,0,65,0,64,0,67,0,71,0,67,0,77,0,69,0,79,0,72,0,82,0,74,0,82,0,77,0,81,0,79,0,82,0,78,0,83,0,77,0,81,0,77,0,79,0,78,0,75,0,75,0,75,0,70,0,73,0,68,0,68,0,65,0,64,0,60,0,60,0,56,0,55,0,50,0,50,0,45,0,45,0,40,0,37,0,35,0,31,0,28,0,26,0,20,0,21,0,12,0,14,0,8,0,4,0,5,0,-6,-1,-2,-1,-9,-1,-11,-1,-15,-1,-18,-1,-22,-1,-25,-1,-26,-1,-33,-1,-33,-1,-37,-1,-41,-1,-40,-1,-49,-1,-45,-1,-52,-1,-53,-1,-55,-1,-57,-1,-62,-1,-58,-1,-68,-1,-63,-1,-68,-1,-70,-1,-68,-1,-74,-1,-71,-1,-76,-1,-73,-1,-76,-1,-76,-1,-76,-1,-79,-1,-75,-1,-79,-1,-76,-1,-78,-1,-76,-1,-76,-1,-76,-1,-75,-1,-73,-1,-74,-1,-71,-1,-70,-1,-70,-1,-67,-1,-66,-1,-64,-1,-61,-1,-61,-1,-58,-1,-56,-1,-52,-1,-52,-1,-47,-1,-48,-1,-42,-1,-39,-1,-41,-1,-31,-1,-35,-1,-28,-1,-24,-1,-25,-1,-17,-1,-18,-1,-12,-1,-11,-1,-5,-1,-5,-1,2,0,1,0,8,0,8,0,13,0,17,0,18,0,23,0,25,0,28,0,32,0,33,0,39,0,38,0,44,0,43,0,49,0,49,0,54,0,51,0,60,0,56,0,63,0,60,0,66,0,63,0,71,0,65,0,72,0,69,0,73,0,71,0,75,0,71,0,78,0,70,0,78,0,73,0,73,0,78,0,70,0,75,0,73,0,70,0,72,0,70,0,67,0,70,0,62,0,68,0,59,0,64,0,56,0,59,0,53,0,54,0,49,0,49,0,44,0,45,0,38,0,40,0,33,0,34,0,27,0,29,0,21,0,21,0,18,0,12,0,14,0,5,0,6,0,2,0,-2,-1,-4,-1,-8,-1,-11,-1,-12,-1,-19,-1,-18,-1,-24,-1,-26,-1,-28,-1,-32,-1,-33,-1,-39,-1,-38,-1,-43,-1,-45,-1,-45,-1,-52,-1,-49,-1,-54,-1,-57,-1,-55,-1,-63,-1,-57,-1,-65,-1,-63,-1,-66,-1,-66,-1,-68,-1,-68,-1,-70,-1,-70,-1,-70,-1,-73,-1,-69,-1,-74,-1,-70,-1,-74,-1,-69,-1,-74,-1,-68,-1,-72,-1,-69,-1,-68,-1,-69,-1,-65,-1,-67,-1,-62,-1,-65,-1,-58,-1,-63,-1,-55,-1,-58,-1,-52,-1,-52,-1,-50,-1,-47,-1,-45,-1,-43,-1,-40,-1,-37,-1,-35,-1,-33,-1,-29,-1,-27,-1,-24,-1,-20,-1,-20,-1,-14,-1,-12,-1,-9,-1,-6,-1,-4,-1,1,0,1,0,8,0,7,0,13,0,14,0,18,0,20,0,24,0,26,0,28,0,33,0,33,0,38,0,39,0,42,0,43,0,48,0,46,0,53,0,51,0}; }
	private static byte[] data21(){ return new byte[] {56,0,55,0,59,0,58,0,63,0,60,0,66,0,63,0,67,0,66,0,67,0,69,0,68,0,68,0,71,0,67,0,71,0,68,0,69,0,69,0,67,0,68,0,66,0,66,0,64,0,66,0,59,0,65,0,56,0,60,0,57,0,53,0,55,0,49,0,49,0,48,0,43,0,43,0,40,0,37,0,35,0,33,0,28,0,29,0,24,0,20,0,21,0,14,0,14,0,11,0,5,0,6,0,1,0,-1,-1,-4,-1,-8,-1,-9,-1,-13,-1,-16,-1,-17,-1,-25,-1,-19,-1,-32,-1,-24,-1,-36,-1,-32,-1,-38,-1,-39,-1,-42,-1,-42,-1,-47,-1,-48,-1,-47,-1,-56,-1,-49,-1,-58,-1,-56,-1,-56,-1,-63,-1,-57,-1,-64,-1,-62,-1,-64,-1,-64,-1,-66,-1,-64,-1,-68,-1,-66,-1,-65,-1,-70,-1,-63,-1,-70,-1,-63,-1,-68,-1,-64,-1,-65,-1,-64,-1,-62,-1,-63,-1,-60,-1,-60,-1,-57,-1,-58,-1,-55,-1,-53,-1,-53,-1,-48,-1,-49,-1,-47,-1,-42,-1,-44,-1,-37,-1,-39,-1,-34,-1,-33,-1,-30,-1,-27,-1,-25,-1,-22,-1,-19,-1,-18,-1,-12,-1,-13,-1,-7,-1,-7,-1,-2,-1,0,0,2,0,7,0,5,0,15,0,9,0,21,0,15,0,26,0,21,0,29,0,27,0,34,0,34,0,36,0,39,0,41,0,42,0,47,0,45,0,50,0,51,0,50,0,56,0,54,0,58,0,57,0,59,0,60,0,62,0,60,0,65,0,60,0,66,0,62,0,67,0,61,0,67,0,62,0,64,0,66,0,60,0,65,0,60,0,61,0,61,0,59,0,57,0,59,0,51,0,58,0,50,0,53,0,47,0,49,0,42,0,47,0,39,0,41,0,35,0,36,0,32,0,30,0,29,0,22,0,27,0,16,0,21,0,11,0,15,0,8,0,8,0,3,0,1,0,0,0,-5,-1,-6,-1,-9,-1,-13,-1,-13,-1,-19,-1,-19,-1,-21,-1,-27,-1,-25,-1,-32,-1,-30,-1,-35,-1,-37,-1,-36,-1,-44,-1,-39,-1,-48,-1,-43,-1,-49,-1,-50,-1,-50,-1,-54,-1,-53,-1,-55,-1,-58,-1,-54,-1,-62,-1,-56,-1,-63,-1,-58,-1,-62,-1,-61,-1,-62,-1,-63,-1,-61,-1,-61,-1,-63,-1,-60,-1,-64,-1,-58,-1,-61,-1,-58,-1,-59,-1,-58,-1,-55,-1,-58,-1,-50,-1,-54,-1,-43,-1,-44,-1,-38,-1,-36,-1,-29,-1,-31,-1,-21,-1,-25,-1,-15,-1,-19,-1,-10,-1,-13,-1,-7,-1,-6,-1,-6,-1,-2,-1,-2,-1,-1,-1}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-05.wav. */
	public Drum05(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-05.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-05.wav. */
	private class LoopThread extends Thread {
		private Drum05 clip;
		private boolean looping = true;
		public LoopThread(Drum05 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-05.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-05.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-05.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-05.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-05.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}